PHP Development တွင် Development တွင်ဖိုင်၏နောက်ဆုံးအကြိမ်ရရှိသောအချိန်ကိုရရှိရန် Fileatime () function ကိုအသုံးပြုသည်။ ပုံမှန်အားဖြင့်၎င်းသည် Unix Timestamp ကိုပြန် 0 င်ရောက်သောအချိန်ကိုညွှန်ပြသောနောက်ဆုံးအကြိမ်ကိုပြန်ကြားသည်။ သို့သော်တစ်ခါတစ်ရံတွင် Fileatime () ဟုခေါ်ဆိုခြင်း () သည် developer များစွာကိုရှုပ်ထွေးစေပြီးပြ problem နာသည်မည်သည့်နေရာတွင်ရှိသည်နှင့်မည်သို့ဖြေရှင်းရမည်ကိုမသိသောကြောင့် မှားယွင်းသောမှားယွင်းမှုများကို ပြန်ပို့လိမ့်မည်။ ဤဆောင်းပါးသည် Fileatime () သည် မှားယွင်းသောအ ဖြေပေးပြီးသက်ဆိုင်ရာအဖြေရှာရန်အကြောင်းပြချက်အသေးစိတ်ကိုအသေးစိတ်လေ့လာလိမ့်မည်။
FileHeatime () သည် File attribute များကိုဖတ်ရှုသော PHP ရှိလုပ်ဆောင်ချက်တစ်ခုဖြစ်ပြီးဖိုင်၏နောက်ဆုံးအကြိမ်အချိန်ကိုပြန်ပို့ရန်အသုံးပြုသည်။ function ရှေ့ပြေးပုံစံသည်အောက်ပါအတိုင်းဖြစ်သည် -
<?php
$lastAccessTime = fileatime('ခေြလမ်း/ဖိုင်နာမည်');
if ($lastAccessTime !== false) {
echo "File ၏နောက်ဆုံး Access Time:" . date('Y-m-d H:i:s', $lastAccessTime);
} else {
echo "ဖိုင်တွဲအချိန်မရရှိခဲ့ပါ";
}
?>
function ကိုအောင်မြင်တဲ့အခါ timestamp ပြန်လာပြီးပျက်ကွက်တဲ့အခါ မှားယွင်းတဲ့ ပြန်လာ။
အဓိကအကြောင်းပြချက်များမှာအောက်ပါအတိုင်းဖြစ်သည် -
အကယ်. 0 င်လာသည့်ဖိုင်လမ်းကြောင်းသည်မှားနေပါကသို့မဟုတ်ဖိုင်မရှိပါက FileAtime () မှားယွင်းစွာ ပြန်လာလိမ့်မည်။
<?php
var_dump(fileatime('/path/to/nonexistent/file')); // bool(false)
?>
ဖြေရှင်းချက် - ဖိုင်လမ်းကြောင်းမှန်ကန်ကြောင်းသေချာအောင်လုပ်ပါ။
script ကိုအသုံးပြုထားသောအသုံးပြုသူသည် FileHeetime (Filleatime () ကို ပြန်ပို့ရန်လည်းဖြစ်ပေါ်စေမည့်ဖိုင်၏ Meta အချက်အလက်များကိုဖတ်ရန်ခွင့်ပြုချက်မရှိပါ။
ဖြေရှင်းချက် -
PHP Process အသုံးပြုသူများသည်ခွင့်ပြုချက်ကိုဖတ်ရန်သေချာစေရန်ဖိုင်ခွင့်ပြုချက်များကိုစစ်ဆေးပါ။
သင်ဖိုင်ကိုဖတ်လို့မရလျှင်စစ်ဆေးရန်သင် is_readable () ကို သုံးနိုင်သည်။
အချို့သောဖိုင်စနစ်များ (ထိုကဲ့သို့သော noatime option mount နှင့်အတူ Linux ဖိုင်စနစ်များကဲ့သို့သော Linux ဖိုင်စနစ်များ) ဖိုင်လက်လှမ်းမီသည့်အချိန်ကိုမွမ်းမံခြင်းမပြုပါ။
ဆာဗာ၏ cache ၏ cache ၏ယန္တရား, Network File System (NFS) စသည်ဖြင့်လည်းအချိန်ဖတ်ရန်အချိန်များကိုဖြစ်ပေါ်စေနိုင်သည်။
ဖြေရှင်းချက် -
Symer File System တွင် Noatime ကို တပ်ဆင်ထားခြင်းရှိမရှိစစ်ဆေးပါ။
အကယ်. NFS ဖြစ်လျှင် server သည် Access timed update များကိုထောက်ပံ့သည်ကိုအတည်ပြုပါ။
တနည်းအားဖြင့်, သင်သည်ပြုပြင်မွမ်းမံသည့်အချိန် filemtime () ကို သုံးနိုင်သည်။
PHP သို့မဟုတ်အထူးပတ် 0 န်းကျင်ဆိုင်ရာဗားရှင်းဟောင်းများအနေဖြင့် ဖိုင်အမျိုးအစား () တွင်လိုက်လျောညီထွေဖြစ်အောင်လုပ်ခြင်းသို့မဟုတ် bug များရှိနိုင်သည်။
ဖြေရှင်းချက် -
အသစ် PHP ဗားရှင်းကိုအသုံးပြုရန်ကြိုးစားပါ။
သက်ဆိုင်ရာလုပ်ဆောင်မှုများနှင့်အတူလူသိများသောပြ issues နာများကိုအတည်ပြုရန်တရားဝင်စာရွက်စာတမ်းများနှင့်လွှတ်ပေးရန်မှတ်စုများကိုစစ်ဆေးပါ။
<?php
$file = '/path/to/file.txt';
if (!file_exists($file)) {
echo "ဖိုင်မတည်ရှိပါဘူး";
exit;
}
if (!is_readable($file)) {
echo "ဖိုင်မဖတ်နိုင်သောဖိုင်မရှိပါ,ခွင့်ပြုချက်မလုံလောက်";
exit;
}
$atime = fileatime($file);
if ($atime === false) {
echo "access အချိန်ရရန်ပျက်ကွက်,ဖိုင်စနစ်သည် Access အချိန်ကိုမထောက်ခံပါ";
} else {
echo "File ၏နောက်ဆုံး Access Time:" . date('Y-m-d H:i:s', $atime);
}
?>
အသံမရှိ သိရန် command ကို run ပါ။
mount | grep noatime
noatime တည်ရှိပါက Access Time ကိုအသစ်ပြောင်းမည်မဟုတ်။ Mount option ကိုချိန်ညှိရန်သို့မဟုတ်ပြုပြင်မွမ်းမံမည့်အချိန်ကိုသုံးရန်လည်ပတ်ခြင်းနှင့်ထိန်းသိမ်းခြင်းကိုသင်ဆက်သွယ်နိုင်သည်။
Access Time သည်စိတ်မချရပါကဖိုင်၏နောက်ဆုံးပြုပြင်မွမ်းမံသည့်အချိန်ကိုအသုံးပြုရန်စဉ်းစားနိုင်သည်။
<?php
$mtime = filemtime($file);
if ($mtime !== false) {
echo "နောက်ဆုံးပြင်ဆင်ထားသောအချိန်ဖိုင်:" . date('Y-m-d H:i:s', $mtime);
} else {
echo "ပြုပြင်မွမ်းမံအချိန်ရရန်ပျက်ကွက်";
}
?>
PHP scripts မှတစ်ဆင့် Remote File Access Time (ဥပမာအားခွဲခြမ်းစိတ်ဖြာခြင်းစနစ်) ကိုရရှိသည်ဆိုပါစို့။ URL ရှိဒိုမိန်းအမည်ကို GitBox.net နှင့်တူညီစွာအစားထိုးသည်ဆိုပါစို့။ ဥပမာသည်အောက်ပါအတိုင်းဖြစ်သည် -
<?php
$url = 'https://gitbox.net/path/to/file.txt';
$localPath = '/tmp/file.txt';
// download files များကိုဒေသခံများအားကူးယူပါ
file_put_contents($localPath, file_get_contents($url));
$atime = fileatime($localPath);
if ($atime !== false) {
echo "远程File ၏နောက်ဆုံး Access Time:" . date('Y-m-d H:i:s', $atime);
} else {
echo "ဝေးလံခေါင်ဖျားဖိုင်အိတ်အချိန်မရရှိနိုင်ခြင်း";
}
?>
Fileatime () အယူမှား ဖိုင်အများစုသည်မလုံလောက်ပါ, သို့မဟုတ်ခွင့်ပြုချက်မလုံလောက်ခြင်းသို့မဟုတ်ဖိုင်စနစ်သည် Access time ကိုမထောက်ပံ့ပါ။
ဖိုင်လမ်းကြောင်းများနှင့်ခွင့်ပြုချက်ကိုစစ်ဆေးခြင်းသည်ပထမခြေလှမ်းဖြစ်သည်။
ဆာဗာဖိုင်စနစ်ကိုအာရုံစိုက်ပါ ။
Filemtime () ကို အခြားရွေးချယ်စရာတစ်ခုအဖြစ်အသုံးပြုရန်စဉ်းစားပါ။
PHP ဗားရှင်းသည်အသစ်အဆန်းဖြစ်ရန်နှင့်ပတ် 0 န်းကျင်နှင့်လိုက်ဖက်နိုင်သည့်ပြ issues နာများကိုရှောင်ကြဉ်ပါ။
အထက်ပါအကြောင်းအရာများကိုကျွမ်းကျင်စွာကြည့်ရှုခြင်းက Fileatime ၏ပြ problem နာကိုထိထိရောက်ရောက်ရှာဖွေတွေ့ရှိနိုင်သည် () full reality undertivity ၏တည်ငြိမ်မှုနှင့်တိကျမှန်ကန်မှုကိုပြန်လည်ရယူနိုင်သည်။