У меня есть функция, чтобы сделать эскиз изображения URL на лету! Я всегда перехожу к этим функциям изображений с помощью типа jpg, но проблема возникает, когда я передаю изображение с расширением «.jpg». но когда я пытаюсь получить его тип mime, я обнаружил, что это « application / octet-stream » .. на этой странице php этот тип mime относится к одному из
IMAGETYPE_JPC, IMAGETYPE_JPX, IMAGETYPE_JB2
что мне нужно изменить мою функцию для обработки этого типа mime?
извещение ^^^^^^
function thumb($path,$width,$height) // $path => image url { $file_dimensions = getimagesize($path); $file_type = image_type_to_mime_type($file_dimensions[2]); list($Cwidth, $Cheight) = getimagesize($path); if ($file_type=='image/jpeg'||$file_type=='image/pjpeg'){ // Load $thumb = imagecreatetruecolor($width, $height); $source = imagecreatefromjpeg($path); // Resize imagecopyresized($thumb, $source, 0, 0, 0, 0, $width, $height, $Cwidth, $Cheight); header('Content-Type: image/jpeg'); imagejpeg($thumb); } else if ($file_type=='application/octet-stream') { // ^^^^^ what I should write here } else { echo "Not supported type"; } }
Мы не можем сказать вам, потому что application/octet-stream
– это своего рода тип mime-типа типа general-type-of-of-binary-file. Это может быть все. Вы можете попробовать с imagecreatefromstring
на двоичном содержимом файлов. Но скрестите пальцы;).
Фактическая проблема здесь заключается в том, что getimagesize
не зависит от библиотеки GD, которую вы используете для изменения размера изображения. Таким образом, он предоставляет информацию о файлах, с которыми сам GD не справляется. Таким образом, вы можете просто выводить какой-то «неподдерживаемый тип изображения», пока не найдете какую-нибудь дополнительную библиотеку, способную справиться с конкретным типом изображения mime или better.
См. Также:
В случае приложения / октета-потока вы можете получить исходное имя файла и проверить его расширение. Если его jpg, вам должно быть хорошо идти