PHP

2009-03-16 18 views
6

में एमआईएमई प्रकार का पता लगाने के लिए मैं PHP में फ़ाइलों MIME प्रकार का पता लगाने के लिए सबसे अच्छा (संभवतः अधिकांश PHP 5.2 इंस्टॉल और अभी भी सक्रिय रूप से विकसित) तरीका ढूंढ रहा हूं।PHP

मुझे mime_content_type() विधि और फ़ाइलइन्फो एक्सटेंशन के बारे में पता है, हालांकि mime_content_type() अविश्वसनीय और बहिष्कृत है, और Fileinfo "मानक" PHP (5.2) इंस्टॉल में नहीं आता है।

क्या मेरे पास कोई अन्य विकल्प है?

उत्तर

5

क्या आपने इस पीएआर पैकेज में देखा है?

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

+0

धन्यवाद। यह आदर्श नहीं है, क्योंकि यह वास्तव में करता है कि मैंने पहले से वर्णित दो विधियों का उपयोग करने का प्रयास किया है, दूसरा जो सभी सिस्टम (यानी विंडोज) पर काम नहीं करेगा, और फिर विस्तार से पता लगाने के लिए वापस आ जाता है, लेकिन ऐसा लगता है कि यह मेरा सबसे अच्छा विकल्प है उतने समय के लिए। –

0

आप वेब सर्वर आप पर चल रहे हैं करने के लिए एक subrequest कर सकता है, तो माइम कि जिस तरह से टाइप करने के लिए शीर्षलेख पार्स। चूंकि यह धीमा है, केवल हेडर को पूरा अनुरोध न करने के लिए कर्ल का उपयोग करें। यदि आप बड़ी फाइलें देख रहे हैं तो यह महत्वपूर्ण है।

यदि आप अपाचे चला रहे हैं और मॉड्यूल के रूप में php का उपयोग कर रहे हैं, तो VIRTUAL फ़ंक्शन देखें। यह कर्ल का उपयोग करने से एक subrequest करने के लिए एक तेज तरीका है।

अन्यथा, आप विस्तार से माइम प्रकार को देख सकते हैं। यह सभी अच्छी तरह से नामित फाइलों को काम करेगा।

11

यह आप इस्तेमाल कर सकते हैं फ़ाइल आदेश एक * nix सर्वर आ रहा है (lol खेद है कि मैं इस लिए कहा गया था महीने पहले के रूप में मैं ऊपर परिष्करण था एहसास हुआ। ओह अच्छी तरह से। साथ ही इस जोड़ सकते हैं ...)

file -bi <filepath> 

आपको ऐसा लगता है कि PHP में "exec" का उपयोग करना होगा? मैं PHP के लिए नया तो यह मुझे बोली नहीं है, लेकिन ...

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

ताकि आप पथ स्ट्रिंग से बचने और आउटपुट फ़ॉर्मेट करने के लिए आवश्यकता हो सकती है कि मैं यह परीक्षण नहीं किया।

डुनो अगर यह अन्य तरीकों से अधिक विश्वसनीय होगा।

+2

मैं फ़ाइल-बी - माइम-प्रकार $ फ़ाइल नाम का उपयोग करता हूं, लेकिन अच्छा जवाब! – icco

+0

धन्यवाद धन्यवाद शुक्रिया धन्यवाद !!!! – Kama

संबंधित मुद्दे

 संबंधित मुद्दे