လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> cli mode တွင် imagefontwidth အတွက်ပြ issues နာများ

cli mode တွင် imagefontwidth အတွက်ပြ issues နာများ

M66 2025-06-03

PHP တွင် Importfontwidth () function ကို function ကို built-in font width ကိုရရှိရန်အသုံးပြုသည်။ GD စာကြည့်တိုက်မှပေးသောပုံရိပ်ထုတ်ယူခြင်းလုပ်ငန်းတစ်ခုဖြစ်သည်။ များသောအားဖြင့်ဤလုပ်ဆောင်ချက်သည်ပုံများကိုထုတ်လုပ်သည့်အခါအလွန်အသုံးဝင်သည်, အထူးသဖြင့်စာသား၏အပြင်အဆင်အနေအထားကိုအတိအကျထိန်းချုပ်ရန်လိုအပ်သည့်အခါအလွန်အသုံးဝင်သည်။ သို့သော် imagefontwidth (command line interface) mode တွင်အသုံးပြုသောအခါ developer များစွာသည်မမျှော်လင့်သောပြ problems နာများနှင့်ကြုံတွေ့ရလိမ့်မည်။

ပြ the နာ၏အကြောင်းရင်း၏ခွဲခြမ်းစိတ်ဖြာ

  1. သဘာဝပတ်ဝန်းကျင်ကွဲပြားခြားနားမှုများ
    PHP ၏ operating ပတ်ဝန်းကျင် (apache, nginx ကဲ့သို့သော) နှင့် CLI Modes တို့ကဲ့သို့သော PHPH ၏ operating ပတ်ဝန်းကျင်နှင့်ကွဲပြားသည်။ အထူးသဖြင့် GD စာကြည့်တိုက်များသည်တစ်ခါတစ်ရံပတ် 0 န်းကျင်ဆိုင်ရာ variable များသို့မဟုတ် system font ဖိုင်များအပေါ်မှီခိုသည်။ CLI mode တွင်ဤမှီခိုမှုများကိုမှန်ကန်စွာဖွ င့ ်. မရပါ။

  2. GD စာကြည့်တိုက်သို့မဟုတ်ဖောင့်ပျောက်နေသည်
    ImageFontwidth () သည် GD စာကြည့်တိုက်၏ built-in ဖောင့်ပေါ်တွင်မူတည်သည်။ အကယ်. PPP တွင်ပတ် 0 န်းကျင်တွင်လည်ပတ်နေသောပတ်ဝန်းကျင်သည် GD စာကြည့်တိုက်ကို cli mode တွင်တပ်ဆင်ထားခြင်းမရှိပါက GD စာကြည့်တိုက်သည်ဖြတ်သန်းသွားသည်။

  3. ကွဲပြားခြားနားသော PHP ဗားရှင်းသို့မဟုတ် configururations <br> <br> PHP ဗားရှင်းအချို့သည်ပုံမှန်အားဖြင့် extensions အချို့ကို cli mode တွင်ပိတ်ထားသည်။ သို့မဟုတ် configuration file (php.ini) သည်မတူပါ။

ပြ the နာကိုဘယ်လိုအတည်ပြုရမလဲ

CLI တွင်ပြေးသောရိုးရှင်းသောစစ်ဆေးမှုဇာတ်ညွှန်းကိုရေးနိုင်သည်။

 <?php
$width = imagefontwidth(5);
var_dump($width);

ပုံမှန်အားဖြင့် imagefontwidth (5) အကျယ်ကို စာလုံးအရွယ်အစား 5 (ဥပမာ, 7) နှင့်အကျယ်ကိုပြန်ပို့သင့်သည်။ မှားယွင်းသော သို့မဟုတ် 0 ကို ပြန်ရောက်ပါက၎င်းသည် function သည်ပုံမှန်အားဖြင့် font font width ကိုမရနိုင်ပါ။

အဖေြ

1 ။ GD စာကြည့်တိုက်ကို CLI ပတ်ဝန်းကျင်တွင်ဖွင့်ထားကြောင်းအတည်ပြုပါ

command line တွင် execute:

 php -m | grep gd

output မရှိပါက GD ကို CLI အောက်တွင်ဖွင့်ထားနိုင်ခြင်းမရှိပါ။ CLI မှအသုံးပြုသော PHP.INI ဖိုင်ကိုတည်းဖြတ်ရန်နှင့် GD extension ကို enable လုပ်ရန်လိုအပ်သည်။

 extension=gd

CLI Terminal ကိုပြန်လည်စတင်ပါ။

2 ။ built-in font indexing ကိုအသုံးပြုသောအခါ parameters တွေကိုမှန်ကန်ကြောင်းသေချာပါစေ

ImageFontwidth () သည် integer parameter (1 မှ 5) ကို built-in font size နှင့်သက်ဆိုင်သည်။ parameters တွေကိုဖြတ်သန်းရာမှာအမှားအယွင်းမရှိဘူးဆိုတာသေချာအောင်လုပ်ပါ။

 imagefontwidth(3); // တရားဉပဒေအတိုင်းဖြစ်သော

3 ။ GD function ကိုအခြားရွေးချယ်စရာရွေးချယ်စရာ - imagettfbox ()

Custom Fonts (ဥပမာ ttf ဖောင့်ကဲ့သို့) Community fonts များအသုံးပြုရန်လိုအပ်ပါက cli အောက်တွင် စာလုံး အရွယ်အစား ကိုပိုမိုတိကျစွာတွက်ချက်နိုင်ပြီးဖောင့်ဖိုင်များအစားစာလုံးအရွယ်အစားကိုတွက်ချက်နိုင်သည်။

ဥပမာ -

 <?php
$fontFile = '/path/to/font.ttf';  // ဒီမှာလမ်းကြောင်းကိုအသုံးပြုသည် m66.net ဒိုမိန်းအမည်အစားထိုးပြီးနောက်URLပမာဏ:ဥပမာအားဖြင့် http://m66.net/fonts/font.ttf
$fontSize = 12;
$text = "စာသားစမ်းသပ်";

$bbox = imagettfbbox($fontSize, 0, $fontFile, $text);
$width = abs($bbox[2] - $bbox[0]);
echo "စာသားအကျယ်ဖြစ်ပါတယ်: " . $width;

4 ။ GD သို့တိုက်ရိုက်သွားသော URLs များကိုရှောင်ရှားရန်ဆွေမျိုးသို့မဟုတ်အကြွင်းမဲ့အာဏာလမ်းကြောင်းများကိုသုံးပါ

GD လုပ်ဆောင်ချက်များသည်များသောအားဖြင့် HTTP URLs များကို font လမ်းကြောင်းများအဖြစ်တိုက်ရိုက်မထောက်ပံ့ပါ။
အင်တာနက်ပေါ်တွင်ဖောင့်ဖိုင်များကိုသင်အသုံးပြုလိုပါက၎င်းတို့ကိုကိုးကားခြင်းမပြုမီ၎င်းတို့ကိုဒေသအလိုက်ဒေါင်းလုဒ်ပြုလုပ်ရန်အကြံပြုပါသည်။

ဥပမာ (ဒိုမိန်းအမည်ဖြင့်အစားထိုးပါ):