سؤال

وأنا أبحث عن أفضل (ممكن في معظم PHP 5.2 تثبيت ومازال المتقدمة بنشاط) وسيلة للكشف عن ملفات نوع مايم في PHP.

وأنا على بينة من طريقة mime_content_type() وتمديد Fileinfo، لكن mime_content_type() لا يمكن الاعتماد عليها وإهمال، وFileinfo لا يأتي في PHP "القياسية" (5.2) تثبيت.

هل لديك أي خيارات أخرى؟

هل كانت مفيدة؟

المحلول

هل بحثت في هذه الحزمة الكمثرى؟

http://pear.php.net/package/MIME_Type

نصائح أخرى

و(لول آسف أدركت سئل هذا منذ أشهر وأنا على وشك الانتهاء من فوق. حسنا. ربما كذلك إضافة هذا ...)

إذا كان خادم * لا شىء يمكن ان تستخدم ملف الأمر.

file -bi <filepath>

وأنت قد لاستخدام "إكسيك" في PHP للقيام بذلك أعتقد؟ أنا جديدة على PHP حتى لا اقتبس لي على هذا ولكن ...

$content_type = exec("file -bi " . escapeshellarg($filepath));

لم أكن اختبار ذلك حتى قد تحتاج إلى الهروب من سلسلة المسار وتنسيق الإخراج.

ودونو ما إذا كان هذا سيكون أكثر موثوقية من الطرق الأخرى.

هل يمكن أن تفعل subrequest إلى خادم الويب التي يتم تشغيلها على، ثم تحليل رأس للحصول على نوع مايم بهذه الطريقة. لأن هذا هو بطيء، استخدم حليقة إلى فقط الحصول على رؤوس ليس طلب الكامل. وهذا أمر مهم إذا كنت تبحث في الملفات الكبيرة.

إذا كنت تقوم بتشغيل أباتشي واستخدام PHP وحدة نمطية، نلقي نظرة على وظيفة الظاهري. بل هو وسيلة أسرع للقيام subrequest من استخدام حليقة.

وخلاف ذلك، يمكنك البحث نوع التمثيل الصامت بالتبعية. وهذا سيجعل جميع الملفات المسماة تعمل بشكل جيد.

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