Intereting Posts
Если иметь дело с деньгами в поплавке, это плохо, то почему money_format () делает это? Cant найти zf.bat в zend framework загрузить SimpleXML: работа с XML, содержащим пространства имен php wordpress password change – внесите меня в журнал! Развертывание области в конструкторах PHP-класса Оптимизация сайтов, основанных на коханах, для скорости и масштабируемости Использовать PHP Framework или нет? Использование плагина проверки jQuery с опцией «remote» Аутентификация HTTP CURL на стороне сервера PHP postgres Zend Framework Выберите запрос с предложением WHERE 'AND' pg_query_params return error: bind message supplies 2 параметра, но подготовленный оператор "" требует 1 Лучший подход для выбора наиболее просматриваемых сообщений за последние n часов PHP – ключи многоадресного массива Concatenate / cascade Почему PDO генерирует предупреждения, когда мы говорим, что это не делать? Как прочитать эффективный URL ответа в Guzzle ~ 6.0

PHP / GD – поиск типа ресурса изображения

Имея только действительный ресурс изображения GD, можно узнать тип исходного изображения?

Например:

$image = ImageCreateFromPNG('http://sstatic.net/so/img/logo.png'); 

Могу ли я получить исходный тип изображения (PNG), содержащий только переменную $ image?

Related of "PHP / GD – поиск типа ресурса изображения"

Я так не думаю, нет. $ image находится во внутреннем формате изображения GD после того, как он был обработан функцией ImageCreate() .

Я не уверен, что это можно сделать из переменной $ image, но чтобы получить MimeType, вы обычно можете использовать любой из четырех:

 // with GD $img = getimagesize($path); return $img['mime']; // with FileInfo $fi = new finfo(FILEINFO_MIME); return $fi->file($path); // with Exif (returns image constant value) return exif_imagetype($path) // deprecated return mime_content_type($path); 

Из вашего описания вопроса я хочу, чтобы вы хотели использовать удаленный файл, чтобы вы могли сделать что-то подобное, чтобы сделать эту работу:

 $tmpfname = tempnam("/tmp", "IMG_"); // use any path writable for you $imageCopy = file_get_contents('http://www.example.com/image.png'); file_put_contents($tmpfname, $imageCopy); $mimetype = // call any of the above functions on $tmpfname; unlink($tmpfname); 

Примечание: если функция MimeType будет использоваться для поддержки удаленных файлов, используйте ее напрямую, вместо того, чтобы сначала создать копию файла

Если вам нужен MimeType, чтобы определить, какую функцию imagecreatefrom использовать, почему бы не сначала загрузить файл в виде строки, а затем разрешить GD, например

 // returns GD image resource of false $imageString = file_get_contents('http://www.example.com/image.png'); if($imageString !== FALSE) { $image = imagecreatefromstring($imageString); } 

Вы можете просто попробовать загрузить ресурс с помощью загрузчика png, и если это не png-образ, он будет терпеть неудачу, возвращая FALSE. Затем просто повторяйте с каждым из допустимых форматов, которые вы хотите иметь, и если все сбой, то отобразите ошибку.