تحذير PHP عند محاولة استخدام القانون الأساسي () أو filemtime ()
-
22-08-2019 - |
سؤال
وأنا محاولة للحصول على آخر مرة تم تعديلها من الملف الذي يفعل بالتأكيد موجودة: /document_root/myfile.pdf -rwxr-XR-س 1 11018 11008 198621 26 نوفمبر 2007 myfile.pdf
وعندما كنت تشغيل العبارة التالية (من خلال PHP CLI كجذر): filemtime ( '/ DOCUMENT_ROOT / myfile.pdf')؛
وأحصل على الأخطاء: تحذير: القانون الأساسي (): فشل ستات لل/document_root/myfile.pdf (errno = 2 - لا يوجد مثل هذا الملف أو الدليل)
المحلول
وأنت تحصل على على مسار الملف خطأ أو كنت على لم يكن لديك إذن لالقانون الأساسي ملف ذات الصلة.
ومسار الملف خاطئة؟
filemtime('/document_root/myfile.pdf');
ومسار الملف الصحيح؟
filemtime($_SERVER['DOCUMENT_ROOT'].'/myfile.pdf');
وتحقق من أذونات الملف: يمكن قراءة الملف من قبل المستخدم الذي يشغل PHP
نصائح أخرى
وأنت لا تفعل شيئا مثل تشغيل هذا من داخل دالة حيث لم تكن قد مرت قيمة DOCUMENT_ROOT؟
هل أنت متأكد من أنك قد حصلت على الطريق الصحيح؟
و/document_root/myfile.pdf
ويبدو مسار مطلق، ولكن أشك بك "DOCUMENT_ROOT" في نظام ملفات الجذر.
وإذا كان هذا ليس هو، أيضا التأكد من أن المستخدم اباتشي قد قرأ الوصول إلى الملف نفسه، ولكن أيضا ص + س الوصول إلى كافة الدلائل المؤدية إلى مسار الملف.