filectime() (filectime)
می خواهی «زمان آخرین تغییر فایل» را بدانی؟ با filectime راحت است. «زمان آخرین تغییر (Last Change Time)» یعنی وقتی ویژگی های فایل عوض شدند؛ مثل دسترسی یا مالک.
تعریف ساده و سینتکس
filectime آخرین تغییر فایل را برمی گرداند. خروجی «یونیکس تایم استمپ (Unix Timestamp)» است. با date آن را خوانا کن.
<?php
$ts = filectime("webdictionary.txt");
echo $ts;
echo "\n";
echo "Last changed: ".date("F d Y H:i:s.", $ts);
?>
filectime دقیقاً چه چیزی را می سنجد؟
این تابع «تغییر inode» را هم حساب می کند. «inode» اطلاعات متادیتا است؛ مثل مجوزها، مالک، و گروه. پس فقط محتوا نیست.
کش نتایج و تازه سازی
نتیجه این تابع «کش (Cache)» می شود. برای تازه سازی از clearstatcache استفاده کن تا مقدار جدید خوانده شود.
<?php
clearstatcache();
$ts = filectime("webdictionary.txt");
echo date("Y-m-d H:i:s", $ts);
?>
تفاوت با filemtime
برای «تغییر محتوای فایل» از filemtime استفاده کن. filectime بیشتر روی تغییرات متادیتا حساس است.
گام های عملی سریع
- مسیر فایل را درست بده.
- در صورت نیاز کش را پاک کن.
- filectime را صدا بزن.
- خروجی را با date خوانا کن.
نکته: در خطا، مقدار false برمی گردد. مسیر و دسترسی را بررسی کن.
هشدار: اگر فقط تغییر محتوا مهم است، filemtime دقیق تر است.
ارتباط با توابع نزدیک
زمان «آخرین دسترسی» را با fileatime بگیر. برای نوشتن فایل، file_put_contents مناسب است.
جمع بندی سریع
- filectime زمان تغییر متادیتا را می دهد.
- خروجی، یونیکس تایم استمپ است.
- برای تازه سازی، clearstatcache را اجرا کن.
- برای تغییر محتوای فایل، filemtime بهتر است.