PHP ၏ FTP_RAWLIST function ကိုအသုံးပြုသောအခါ FTP server directory list ကိုရရှိရန် PHP_RAWLIST Function ကိုအသုံးပြုသောအခါ၎င်းသည်ဘုံဖြစ်သော်လည်းခေါင်းကိုက်ခြင်း - ခေါင်းကိုက်ခြင်းပြ problem နာဖြစ်သည်။ ဤဆောင်းပါးသည် FTP_RAWLIST မှ အချည်းနှီးသောရလဒ်များကိုပြန်ပို့ခြင်းအတွက်ဘုံအကြောင်းပြချက်များကို ftp_Rawlist မှပြုလုပ်ရန်နှင့်ပြ problems နာများကိုလျင်မြန်စွာရှာဖွေရန်နှင့်ပုံမှန်လုပ်ဆောင်မှုများကိုပြန်လည်ထူထောင်ရန်အတွက်အသေးစိတ်ပြ esh နာဖြေရှင်းခြင်းနှင့်ဖြေရှင်းနည်းများကိုအသေးစိတ်ဖော်ပြထားသည်။
FTP_RAWLIST သည် PHP FTP extension ၏ linux လက်အောက်ရှိ LS -l command နှင့်ဆင်တူသည့်သတ်မှတ်ထားသောလမ်းညွှန်ချက်၏ဖိုင်နှင့် subdirectory အသေးစိတ်အချက်အလက်များကိုပြန်ပို့ရန်လုပ်ဆောင်သည့်လုပ်ဆောင်ချက်တစ်ခုဖြစ်သည်။ ၎င်းသည် array တစ်ခုသို့ပြန်ပို့သည်။ element တစ်ခုစီသည်ဖိုင်တစ်ခုသို့မဟုတ်လမ်းညွှန်တစ်ခု၏အသေးစိတ်ဖော်ပြချက်ကိုကိုယ်စားပြုသည်။
ခေါ်ဆိုမှုဥပမာ -
$conn = ftp_connect('gitbox.net');
ftp_login($conn, 'username', 'password');
$list = ftp_rawlist($conn, '/path/to/dir');
print_r($list);
အကြောင်းရင်း - FTP ဆက်သွယ်မှုသည်မအောင်မြင်ပါ, သို့မဟုတ် login အထောက်အထားများသည်မမှန်ကန်ပါ။ မရရှိနိုင်သည့် directory listing ကိုရရှိခြင်းဖြစ်သည်။
ပြသာနာရှာဖွေရှင်းပေးခြင်း :
Connection နှင့် login အောင်မြင်မှုရှိမရှိဆုံးဖြတ်ရန် FTP_Connect နှင့် FTP_Login ၏ပြန်လည်ပေးပို့သည့်တန်ဖိုးများကိုအတည်ပြုပါ။
passive mode ကိုသတ်မှတ်ရန် FTP_PASV ကို သုံးပါ။ အချို့ဆာဗာများသည်လမ်းညွှန်ကိုအောင်မြင်စွာစာရင်းပြုစုရန် passive mode ကိုလိုအပ်သည်။
ဥပမာ -
$conn = ftp_connect('gitbox.net');
if (!$conn) {
die("ချိတ်ဆက်. မရပါFTPဆာဆာ");
}
if (!ftp_login($conn, 'username', 'password')) {
die("FTPလော့ဂ်အင်မအောင်မြင်ပါ");
}
ftp_pasv($conn, true);
$list = ftp_rawlist($conn, '/path/to/dir');
print_r($list);
အကြောင်းရင်း - directory လမ်းကြောင်းသည်မှားယွင်းနေသည်။ သို့မဟုတ် FTP အသုံးပြုသူသည်လမ်းညွှန်သို့ခွင့်ပြုချက်ကိုဖတ်ပြီးမဖတ်ပါ။
ပြသာနာရှာဖွေရှင်းပေးခြင်း :
Directory လမ်းကြောင်းသည်မှန်ကန်မှုရှိ, မရှိကိုအတည်ပြုပါ။
Directory တည်ရှိပြီးခွင့်ပြုချက်များရှိမရှိအတည်ပြုရန် FTP client ကိုအသုံးပြုပါ။
ဖြေရှင်းချက် -
လုံလောက်သောအသုံးပြုသူခွင့်ပြုချက်ကိုသေချာစေရန်လမ်းညွှန်လမ်းကြောင်းကိုပြင်ပါ။
အကြောင်းမှာ FTP ဆာဗာများသည်တုန့်ပြန်မှုပုံစံကိုကန့်သတ်ထားသည် ။
ပြသာနာရှာဖွေရှင်းပေးခြင်း :
ဆာဗာ passive / Active Mode ကိုပြောင်းရန်ကြိုးစားပါ။
FTP_RAWLIST အစား FTP_RAWLIST အစား FTP_RAWLIST အစား (အသေးစိတ်အချက်အလက်များမရှိပါ) ကိုသင်ရနိုင်သည်ကိုကြည့်ပါ။
ဥပမာ -
$list = ftp_nlist($conn, '/path/to/dir');
print_r($list);
အကြောင်းရင်း - FTP သည်ဒေတာဆက်သွယ်မှုဆိပ်ကမ်းကိုဖွင့်ရန်လိုသည်, passive သို့မဟုတ် active mode သည်မကိုက်ညီပါ,
ပြသာနာရှာဖွေရှင်းပေးခြင်း :
passive mode ကို ftp_pasv ($ con, true) ကို သုံးပါ။
သက်ဆိုင်ရာ ports များဖွင့်လှစ်ရန်သေချာစေရန်ဆာဗာနှင့် client firewall settings ကိုစစ်ဆေးပါ။
ထိပ်ဖျား : passive mode သည် firewalls များကိုထိုးဖောက်ရန်ယေဘုယျအားဖြင့်ပိုမိုသင့်တော်သည်။
အကြောင်းရင်း - Directory ကိုယ်တိုင်ကဖိုင်များသို့မဟုတ် subdirectories မရှိပါ, ဗလာခင်းကျင်းမှုတစ်ခုသို့ပြန်ခြင်းသည်ပုံမှန်ဖြစ်သည်။
ပြသာနာရှာဖွေရှင်းပေးခြင်း :
Directory ကတကယ်ဗလာရှိမရှိအတည်ပြုရန် FTP client ကိုသုံးပါ။
ဒီမှာအမှားကိုင်တွယ်ခြင်းနှင့်ဘုံပြ esh နာဖြေရှင်းခြင်းနည်းလမ်းများအပါအ 0 င်ပြည့်စုံသောဥပမာတစ်ခုမှာ -
<?php
$ftp_server = 'gitbox.net';
$ftp_user = 'username';
$ftp_pass = 'password';
$dir = '/path/to/dir';
// ဆက်FTPဆာဆာ
$conn = ftp_connect($ftp_server);
if (!$conn) {
die("ချိတ်ဆက်. မရပါFTPဆာဆာ");
}
// လော့ဂ်အင်
if (!ftp_login($conn, $ftp_user, $ftp_pass)) {
die("FTPလော့ဂ်အင်မအောင်မြင်ပါ");
}
// passive mode ကို enable
ftp_pasv($conn, true);
// လမ်းညွှန်စာရင်းရယူပါ
$list = ftp_rawlist($conn, $dir);
if ($list === false) {
echo "လမ်းညွှန်စာရင်းရယူပါ失败,သုံးပြီးကြိုးစားပါftp_nlist:\n";
$list = ftp_nlist($conn, $dir);
if ($list === false || empty($list)) {
die("Directory စာရင်းသည်ဗလာသို့မဟုတ်ရရန်ပျက်ကွက်သည်,directory လမ်းကြောင်းနှင့်ခွင့်ပြုချက်စစ်ဆေးပါ");
}
}
if (empty($list)) {
echo "လမ်းညွှန်သည်ဗလာဖြစ်သည်";
} else {
echo "လမ်းညွှန်စာရင်း:\n";
print_r($list);
}
// 关闭ဆက်
ftp_close($conn);
FTP_RAWLIST သည် များသောအားဖြင့်ဆက်သွယ်မှုပြ problems နာများကြောင့်များသောအားဖြင့်အများအားဖြင့်အများအားဖြင့်ဗလာဖြစ်သည်။ Connection status ကိုစစ်ဆေးခြင်းအားဖြင့် item မှ login အထောက်အထားများ, လမ်းညွှန်လမ်းကြောင်းများ, passive mode ကိုဖွင့်ပြီး FTP_NLIST ကို အသုံးပြုရန်ကြိုးစားခြင်းသည်လျင်မြန်စွာရောဂါရှာဖွေရန်အတွက်ကြီးမားသောနည်းလမ်းများဖြစ်သည်။
FTP_RAWLIST ၏ပြန်လည်ထူထောင်ရေးကိုအချည်းနှီးဖြည့်ဆည်းပေးနိုင်ရန်အတွက်ဤဆောင်းပါးသည် FTP လမ်းညွှန်စာဖတ်ခြင်းလုပ်ငန်းကိုအောင်မြင်စွာဖြည့်ဆည်းပေးနိုင်ရန်အတွက်ဤဆောင်းပါးသည်သင့်အားထိရောက်စွာဖြေရှင်းနိုင်လိမ့်မည်ဟုကျွန်ုပ်မျှော်လင့်ပါသည်။