2013-06-30 4 views
2

Я загружаю файл tif, но всегда получаю эхо «Тип загруженного файла не поддерживается». Зачем? Как я могу проверить, если файл поддерживается в соответствии с моим набором поддерживаемых файловКак проверить, поддерживается ли загруженный файл

//image types supported 
$types = array(IMAGETYPE_JPEG, IMAGETYPE_PNG, IMAGETYPE_TIFF); 

list($width, $height, $type) = getimagesize($_FILES[$name]['tmp_name']); 
$ext = image_type_to_extension($type); // get the extension 

if (!isset($types[$type])) { 
    echo = 'The uploaded file type is not supported'; 
} else 
    echo = 'All good!'; 
} 

ответ

2

Вы проверки, если $types имеет ключевое $type, а не значение $type. Вместо этого используйте in_array.
также образуют http://www.php.net/manual/en/function.image-type-to-mime-type.php, нет IMAGETYPE_TIFF, но вместо этого IMAGETYPE_TIFF_II и IMAGETYPE_TIFF_MM

$types = array(IMAGETYPE_JPEG, IMAGETYPE_PNG, IMAGETYPE_TIFF_II, IMAGETYPE_TIFF_MM); 
... 
if (in_arry($type,$types)) { 
+0

, что сделал это! спасибо ... просто исправил неправильное обращение: if (! in_array ($ type, $ types)) {...} – Marco

+0

@Marco приветствую вас – Musa

2

Я думаю, что ваш тип не является правильным попробовать следующие виды.

IMAGETYPE_TIFF_II  => 'tiff',  ### 7 = TIFF  (intel byte order) 
IMAGETYPE_TIFF_MM  => 'tiff',  ### 8 = TIFF  (motorola byte order)