2013-04-23 7 views
13

मैं पालन image-types के लिए Mime-Type पाने के लिए कोशिश कर रहा हूँ:अपरिभाषित समारोह exif_imagetype के लिए कॉल()

if(!empty($_FILES['uploadfile']['name']) && $_FILES['uploadfile']['error'] == 0){  

    $file = $_FILES['uploadfile']['tmp_name']; 
    $file_type = image_type_to_mime_type(exif_imagetype($file)); 

    switch($file_type){ 

     // Codes Here 

    } 

} 

लेकिन यह हमेशा त्रुटि Call to undefined function exif_imagetype() देता है। मुझसे यहां क्या गलत हो रहा है?

+0

@phpNoOb मैंने जवाब के रूप में प्रयास किया लेकिन फिर भी वही त्रुटि। –

उत्तर

37

php.ini में निम्न एक्सटेंशन सक्षम करें और अपने सर्वर को पुनरारंभ करें।

विस्तार = php_mbstring.dll
विस्तार = php_exif.dll

फिर phpinfo() जाँच यह करने के लिए/बंद

+0

इस मैनिप –

+0

--enable-exif # के लिए लिनक्स – Zjmainstay

+0

लिनक्स के लिए 'एक्सटेंशन = exif.so' होगा) के बाद अपने अपाचे सर्वर को पुनरारंभ करना न भूलें। मुझे php दस्तावेज़ीकरण में एक --enable-exif विकल्प नहीं मिला। – BakaKuna

3

अपने कोड को यह जोड़े सेट है, तो देखने के लिए हम कर सकते थे के रूप में तो जानें कि आपके पास PHP का कौन सा संस्करण है क्योंकि यह फ़ंक्शन केवल समर्थित है (PHP संस्करण 4> = 4.3.0, PHP 5)।

<?php 
    phpinfo(); 
?> 

यह स्थापित नहीं किया जा सकता है, तो आप यकीन है कि यह है बनाने के लिए कोड के इस हिस्से में जोड़ सकते हैं:

<?php 
if (function_exists('exif_imagetype')) { 
    echo "This function is installed"; 
} else { 
    echo "It is not"; 
} 
?> 
+0

मैं 'PHP संस्करण 5.2.9' पर हूं। –

+0

@ किशोर सुबेदी, मेरे संपादन की जांच करें, बीटीडब्ल्यू आप विंडोज या लिनक्स के तहत हैं? –

+0

मैं खिड़की उपयोगकर्ता हूँ। –

3

मुझे लगता है कि समस्या पीएचपी config और/या संस्करण, उदाहरण के लिए, में है मेरी मामला:

हम जानते हैं exif_imagetype() फ़ाइल पथ या संसाधन लेता है और IMAGETYPE_GIF की तरह एक निरंतर वापस आती है और image_type_to_mime_type() कि निरंतर मूल्य लेता है और एक स्ट्रिंग रिटर्न 'image/gif', 'image/jpeg', आदि यह काम नहीं कर रहा है (अनुपलब्ध फ़ंक्शन exif_imagetype), इसलिए मुझे पता चला है कि image_type_to_mime_type() इनपुट के रूप में एक पूर्णांक 1, 2, 3, 17, आदि भी ले सकता है, इसलिए getimagesize का उपयोग कर समस्या हल हो गई है, जो एक पूर्णांक मान देता है माइम प्रकार के रूप में:

function get_image_type ($filename) { 
    $img = getimagesize($filename); 
    if (!empty($img[2])) 
     return image_type_to_mime_type($img[2]); 
return false; 
} 

echo get_image_type('my_ugly_file.bmp'); 
// returns image/x-ms-bmp 
echo get_image_type('path/pics/boobs.jpg'); 
// returns image/jpeg 
संबंधित मुद्दे