PHP PHP protocol ကို သုံး. FTP protocol မှတဆင့်ဝေးလံခေါင်သီသောဆာဗာများလည်ပတ်နေစဉ် FTP_RAWLIST () သည် UNIX system ၏ LS -l command နှင့်ဆင်တူစေနိုင်သောဘုံလုပ်ဆောင်မှုတစ်ခုဖြစ်သည်။ ဤကုန်ကြမ်း output များသည်ဖိုင်စာရင်းအချက်အလက်များကိုဖြည့်ဆည်းပေးသော်လည်း 4 င်းတို့၏ပုံစံသည်လွင်ပြင်စာသား string တစ်ခုဖြစ်ပြီး၎င်းသည်ဖိုင်အရွယ်အစားနှင့်ပြုပြင်မွမ်းမံသည့်အချိန်ကဲ့သို့သောတိကျသောသတင်းအချက်အလက်များကိုထုတ်ယူရန်လိုအပ်သည်။
ဤဆောင်းပါးသည် FTP_RAWLIST ၏ထုတ်လုပ်မှုကိုခွဲထုတ်ခြင်းဖြင့်ဖိုင်တစ်ခုစီ၏အရွယ်အစားနှင့်နောက်ဆုံးပြုပြင်မွမ်းမံသည့်အချိန်ကိုမည်သို့ထုတ်ယူရမည်ကိုမိတ်ဆက်ပေးလိမ့်မည်။
FTP_RAWLIST () သည် ကြိုးကျယ်ပြန့်စွာပြန်ပို့သည်။ element တစ်ခုစီသည်အောက်ပါအတိုင်းဖိုင်သို့မဟုတ်လမ်းညွှန်တစ်ခုနှင့်ပတ်သက်သောသတင်းအချက်အလက်ကိုကိုယ်စားပြုသည်။
-rw-r--r-- 1 user group 1048576 May 21 13:37 filename.zip
drwxr-xr-x 2 user group 512 May 20 10:15 subdir
လိုင်းတစ်ခုစီသည် space ခွဲထားသော string တွင်ပါ 0 င်သည့်အာကာသခွဲခြားထားသော string တစ်ခုဖြစ်ပြီးဖိုင်အမျိုးအစား, ခွင့်ပြုချက်များ,
ဖိုင်အရွယ်အစားနှင့်ပြုပြင်မွမ်းမံချိန်ကိုထုတ်ယူရန်အတွက်သင်သည်ဤနယ်ပယ်များကိုပုံမှန်အသုံးအနှုန်းများဖြင့်ခွဲခြမ်းစိတ်ဖြာနိုင်သည်။
<?php
// ဆက် FTP
$ftp = ftp_connect("gitbox.net");
ftp_login($ftp, "username", "password");
// လမ်းညွှန်စာရင်းရယူပါ
$rawList = ftp_rawlist($ftp, ".");
// ကျော်ပြီးမျဉ်းတစ်မျိုးချင်းစီခွဲပါ
foreach ($rawList as $line) {
if (preg_match('/^([\-ld])([rwx\-]{9})\s+\d+\s+\S+\s+\S+\s+(\d+)\s+([A-Za-z]{3})\s+(\d{1,2})\s+(\d{2}:\d{2}|\d{4})\s+(.*)$/', $line, $matches)) {
$type = $matches[1];
$size = $matches[3];
$month = $matches[4];
$day = $matches[5];
$timeOrYear = $matches[6];
$name = $matches[7];
// timestamp မှပြုပြင်ထားသောအချိန်ပြောင်းပါ
$currentYear = date("Y");
$fileTimeStr = "$month $day $timeOrYear";
if (strpos($timeOrYear, ':') !== false) {
// ဒါဟာနေ့၏အချိန်ကိုဆိုလိုသည်,ယခုနှစ်လက်ရှိနှစ်ဖြစ်သည်
$fileTimeStr .= " $currentYear";
$timestamp = strtotime($fileTimeStr);
} else {
// အချိန်တစ်နှစ်ဖြစ်ပါတယ်
$timestamp = strtotime("$month $day $timeOrYear");
}
echo "စာချုပ်စာတမ်း: $name\n";
echo "ပုံနှိပ်စာ: " . ($type === 'd' ? 'မာတိကာ' : 'စာချုပ်စာတမ်း') . "\n";
echo "အရွယ်: $size ဒရယ်\n";
echo "ပြုပြင်မွမ်းမံအချိန်: " . date("Y-m-d H:i:s", $timestamp) . "\n";
echo "-----------------------------\n";
}
}
ftp_close($ftp);
?>
FTP_RAWLIST ၏ပုံစံ () ပုံစံသည်ဝေးလံခေါင်သီသောဆာဗာ၏ operating system အမျိုးအစားပေါ်တွင်မူတည်သည်။ အထက်ပါစည်းမျဉ်းများသည် Unix ပုံစံစာရင်းတွင်ပစ်မှတ်ထားသည်။ အကယ်. ဆာဗာသည် Windows FTP ကိုအသုံးပြုသည်ဆိုလျှင် output format သည်လုံးဝကွဲပြားခြားနားပြီးအမှန်တကယ်အခြေအနေအရချိန်ညှိရန်လိုအပ်သည်။
မကိုက်ညီသောပုံစံများကြောင့်ဖြစ်ပေါ်လာသောပြ problems နာများကိုကာကွယ်ရန်ခွဲခြမ်းစိတ်ဖြာခြင်းလုပ်ငန်းစဉ်အတွင်းပုံမှန်ကိုက်ညီမှုအမှားကိုင်တွယ်ခြင်းကိုအမြဲတမ်းလုပ်ဆောင်ရန်အကြံပြုသည်။
အချိန်ဇုန်တစ်လျှောက်ရှိဆာဗာများအတွက် strtotime () ပြောင်းလဲခြင်း၏ရလဒ်မှာအမှားအယွင်းများရှိနိုင်သည်။ အချိန်ကိုပိုမိုတိကျစွာလုပ်ဆောင်ရန် Datetime လူတန်းစားနှင့်အချိန်ဇုန်အရာဝတ်ထုများကိုအသုံးပြုရန်အကြံပြုသည်။
အထက်ဖော်ပြပါနည်းလမ်းဖြင့် FTP_RAWLIST ၏ရလဒ်များမှဖိုင်အရွယ်အစားနှင့်ပြုပြင်ခြင်းအချိန်ကိုအလွယ်တကူဖြည်ချပြီးဖိုင်ထပ်တူပြုခြင်း, မှတ်တမ်းခွဲခြမ်းစိတ်ဖြာခြင်းနှင့်အခြားအခြေအနေများအတွက်အသုံးပြုသည်။