تحذير PHP عند محاولة استخدام القانون الأساسي () أو filemtime ()

StackOverflow https://stackoverflow.com/questions/698894

سؤال

وأنا محاولة للحصول على آخر مرة تم تعديلها من الملف الذي يفعل بالتأكيد موجودة: /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" في نظام ملفات الجذر.

وإذا كان هذا ليس هو، أيضا التأكد من أن المستخدم اباتشي قد قرأ الوصول إلى الملف نفسه، ولكن أيضا ص + س الوصول إلى كافة الدلائل المؤدية إلى مسار الملف.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top