شرح صفوف ومحتوى الفقرة
اجمع بين دوال فحص البيانات الوصفية وتفريغ ذاكرة الحالة المؤقتة والعمليات الذرية للحفاظ على موثوقية التخزين على الخادم.
- الدوال مثل
filesize()وfilemtime()وfileperms()وis_file()تُحفظ نتائجها مؤقتاً حتى تستدعيclearstatcache(). - استخدم الصلاحية الثمانية
0644للملفات العادية غير التنفيذية، و0600لملفات الإعدادات والمفاتيح السرية الخاصة. - اعتمد على الاستبدال الذري بالدالة
rename()عند تحديث ملفات الكاش أو الإعدادات الحية التي يقرؤها الزوار في نفس الوقت.
استدعاء clearstatcache(true, $tmp) يضمن أن القراءة الثانية للدالة filesize($tmp) تجلب الحجم المحدث (18 بايت) من نظام التشغيل.
| الدالة | الوظيفة الأساسية | نوع الإرجاع | تُخزن في Stat Cache؟ |
|---|---|---|---|
disk_free_space($dir) | Available bytes on partition | float|false | No |
filesize($path) / filemtime($path) | Byte size / Last modified timestamp | int|false | Yes |
chmod($path, 0644) | Set octal permissions | bool | Clears automatically |
copy($s, $d) / rename($s, $d) / unlink($p) | Duplicate / Move / Delete file | bool | Clears target stat |
<?php
$tmp = sys_get_temp_dir() . '/ct_stat_demo.txt';
file_put_contents($tmp, "v1");
$s1 = filesize($tmp);
file_put_contents($tmp, "version-2-expanded");
clearstatcache(true, $tmp);
$s2 = filesize($tmp);
echo "Before: $s1 B -> After: $s2 B\n";
unlink($tmp);
ملخص الدرس
حصاد الدرسمراجعة مركّزة لأهم المفاهيم والقواعد الهندسية التي أتقنتها في هذا الدرس قبل التطبيق العملي
ماذا تعلّمت في هذا الدرس؟
اجمع بين دوال فحص البيانات الوصفية وتفريغ ذاكرة الحالة المؤقتة والعمليات الذرية للحفاظ على موثوقية التخزين على الخادم. الدوال مثل filesize() وfilemtime() وfileperms() وis_file() تُحفظ نتائجها مؤقتاً حتى تستدعي clearstatcache(). استخدم الصلاحية الثمانية 0644 للملفات العادية غير التنفيذية، و0600 لملفات الإعدادات والمفاتيح السرية الخاصة. اعتمد على الاستبدال الذري بالدالة rename() عند تحديث ملفات الكاش أو الإعدادات الحية التي يقرؤها الزوار في نفس الوقت.