FTP_RAWList function ၏လုပ်ဆောင်ချက်မှာ FTP command ကို (default စာရင်း ) ကိုပို့ရန်နှင့် FTP server မှပြန်လာသောမူရင်း directory စာရင်းကိုပြန်ပို့ပါ။ ရလဒ်တစ်ခုမှာ array တစ်ခုဖြစ်ပြီးဒြပ်စင်တစ်ခုစီသည်ဖိုင်သို့မဟုတ်လမ်းညွှန်၏အသေးစိတ်အချက်အလက်များပါ 0 င်သည့် string တစ်ခုဖြစ်သည်။ နမူနာကုဒ်သည်အောက်ပါအတိုင်းဖြစ်သည် -
<Code> $ conn = ftp_connect (gitp_connect); ftp_login ($ Conn, 'Username', 'Password'); $ စာရင်း = FTP_RAWLIST ($ CON, '/ လမ်းကြောင်း / လမ်းညွှန်)'); foreach ($ item အဖြစ်စာရင်း) {echo $ item ။ "\ n"; } ftp_close ($ con); </ code>FTP_RAWLIST မှပြန်လာသောအချက်အလက်ပုံစံသည် FTP server အမျိုးအစားပေါ် မူတည်. မသတ်မှတ်ထားပါ။ 0 င်းဒိုးဆာဗာများ (IIS FTP ကဲ့သို့သော) သည် UNIX / Linux server နှင့်ကွဲပြားခြားနားသောစာရင်းပုံစံကိုပုံမှန်အားဖြင့်ပြန်ပို့လေ့ရှိပြီး,
ဥပမာအားဖြင့်:
Unix ဆာဗာသည် -rw-r - R-- 1 အသုံးပြုသူအုပ်စု 12345 Mar 14 10:30 filename.txt
03-14-21 10:30 AM <dis> foldername ကို 03-14-21 10:30 AM
ဤပုံစံကွဲပြားခြားနားမှုသည်ပြန်လည်ပြုပြင်ထားသောရလဒ်များကိုကွဲပြားခြားနားသောအခြေအနေများနှင့်အညီလိုက်လျောညီထွေဖြစ်အောင်ပြုလုပ်ရန်အထူးသဖြင့် Windows စနစ်များကိုလည်ပတ်သည့်အခါပြန်လာသည့်ပုံစံသည် Unix စတိုင်ဖြစ်ရမည်ဟုမယူဆနိုင်ပါ။
Windows System FTP ဆာဗာ (GBK, GBK2312 ကဲ့သို့သော GBK, GB2312) ကိုသုံးနိုင်သည်။ ဖြေရှင်းနည်းက
ပထမ ဦး ဆုံး FTP server encoding ကိုဆုံးဖြတ်ပါ
MB_ConVert_encoding ကို UTF-8 သို့ပြောင်းရန် MB_ConVert_encoding ကို အသုံးပြု. Returning String ကို အသုံးပြု. သက်ဆိုင်ရာ encoding encoding encoding encoding encoding ပြောင်းလဲခြင်း။
ဥပမာ -
<Code> $ စာရင်း = FTP_RAWLIST ($ CON, '/ လမ်းကြောင်း / လမ်းညွှန်'), foreach ($ စာရင်းနှင့် $ item) {$ item = mb_convertpert_encoding ($ item = $ item, utf-8 ',' gbk '); } unset ($ item); </ code>ကွဲပြားခြားနားသောပလက်ဖောင်းများနှင့်ဆာဗာများ၏ပြန်လာပုံစံများကွဲပြားခြားနားသောကြောင့်အကြံပြုထားသောနည်းလမ်းမှာ -
ဆာဗာအမျိုးအစားကိုဆုံးဖြတ်ပါ (အချို့သော FTP ဆာဗာများသည်ချိတ်ဆက်သောအခါအမျိုးအစားအချက်အလက်များကိုပြန်လည်ပေးပို့လိမ့်မည်)
ဆာဗာအမျိုးအစားအရကွဲပြားခြားနားသောခွဲခြမ်းစိတ်ဖြာယုတ္တိဗေဒကိုရွေးချယ်ပါ
ပုံမှန်အသုံးအနှုန်းများသို့မဟုတ်ဆက်ကပ်အပ်နှံထားသော parsing စာကြည့်တိုက်ကို အသုံးပြု. ပြန်လာသောစာရင်းအတန်းကိုခွဲခြမ်းစိတ်ဖြာပါ
Windows IIS ftp server အတွက်ပြန်လာပုံစံကိုခွဲခြမ်းစိတ်ဖြာခြင်းကိုသရုပ်ပြသောရိုးရှင်းသောဥပမာတစ်ခုမှာ -
<code> foreach ($ item အဖြစ်စာရင်း) {(Preg_match) - (\ d {2}) - (\ d {2}) \ s + ({2}) \ s + (2}) \ t $ ကိုက်ညီ [1] ။ '-' ။ $ ကိုက်ညီ [2] ။ '-' ။ $ ကိုက်ညီ [3]; $ time = $ ကိုက်ညီ [4] ။ $ ကိုက်ညီမှု [5]; $ အမျိုးအစား = $ ကိုက်ညီမှု [6] === '<dir>' ''? 'directory': 'file'; $ name = $ ပြိုင်ပွဲ [7]; ECHO "အမည်: $ အမည်, အမျိုးအစား: $ အမျိုးအစား, ရက်စွဲ: $ ရက်စွဲ $ time '; } အခြား echo "ဂုဏ်သိက္ခာရှိရှိမျဉ်းကြောင်း: $ item \ n"; }}} </ code>Windows FTP ဆာဗာများသည်တစ်ခါတစ်ရံတွင်တုန့်ပြန်ရန်နှေးကွေးနေသည်။ ထို့ကြောင့်သင့်လျော်သောအချိန်ကုန်ကိုသတ်မှတ်ရန်အကြံပြုသည်။
<code> $ conn = ftp_connect (gitp_connect), 21, 90); // 90 ဒုတိယအကြိမ်အချိန်ကုန်ဆုံး FTP_Login ($ Con Cons, Username ',' Password '); </ code>FTP connection mode ၏သဟဇာတဖြစ်သော Windows နှင့် Linux ပလက်ဖောင်းများတွင်ကွဲပြားသည်။ passive mode ကိုများသောအားဖြင့် Windows အတွက်အကြံပြုသည်။
<Code> FTP_PASV ($ CON, TRUE); </ code>ဒီလိုမှမဟုတ်ရင် FTP_RAWList က Firewall (သို့) Network Configuration ပြ issues နာတွေကြောင့်လမ်းညွှန်ကိုမရနိုင်ဘူး။
Windows စနစ်များရှိ PHP ၏ FTP_RAWLIST ကို အသုံးပြုသောအခါအထူးဂရုပြုပါ။
FTP server မှပြန်လာသော directory စာရင်းပုံစံကိုခြားနားချက်
ဇာတ်ကောင် encoding ပြ problem နာ
ရလဒ်များကိုပြန်ပို့ရန်သင့်လျော်သော parsing
ဆက်သွယ်မှုအချိန်ကုန်ခြင်းနှင့်လွှဲပြောင်းခြင်း Mode ချိန်ညှိချက်များ
၎င်းသည် Cross-platform compatibitivity နှင့် program ကိုအားဖြည့်နိုင်သည်။