2013-04-23 38 views
13

Ben aşağıdaki gibi image-types için Mime-Type almaya çalışıyorum. Burada neyi yanlış yapıyorum?Çağrı()

+0

@phpNoOb Yine de aynı hataya yanıt olarak denedim. –

cevap

37

Aşağıdaki uzantıları php.ini'da etkinleştirin ve sunucunuzu yeniden başlatın. = Php_mbstring.dll
uzatma = php_exif.dll

uzatma Sonra/kapama

+0

Bu işlemden sonra apache sunucunuzu yeniden başlatmayı unutmayın. –

+0

--enable-exif #For Linux için – Zjmainstay

+0

'extension = exif.so' olacaktır. Php belgelerinde --enable-exif seçeneği bulamadım. – BakaKuna

3

kodunuzu bu ekleyin üzerine ayarlı olup olmadığını görmek için phpinfo() kontrol biz olabilir, böylece php'in hangi sürümünün olduğunu biliyorsunuz çünkü bu işlev sadece destekleniyor (PHP sürüm 4> = 4.3.0, PHP 5).

<?php 
    phpinfo(); 
?> 
Bu yüklü değil olabilir

, emin onu yapmak için bu kod parçasını ekleyebilirsiniz:

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

'PHP Sürüm 5.2.9' üzerindeyim. –

+0

@Kishor Subedi, Düzenlemeyi kontrol et, btw windows veya linux altında mısın? –

+0

Pencere kullanıcısıyım. –

3

Sorun PHP yapılandırma ve/veya sürüm, örneğin, olduğunu düşünüyorum benim durum: Biz exif_imagetype() biliyoruz

bir dosya yolu veya kaynağı alır ve IMAGETYPE_GIF gibi bir sabit döner ve image_type_to_mime_type() sabit değer olduğunu alır ve 'image/gif', 'image/jpeg' vbbir dize döndürürBu işe yaramadı (eksik işlev exif_imagetype), bu yüzden image_type_to_mime_type() giriş, gibi bir tamsayı 1, 2, 3, 17, vb alabilir, bu yüzden bir tamsayı değeri döndüren getimagesize kullanarak sorunu çözdüm MIME türü:

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