Как проверить, является ли файл картинкой в ​​PHP? - PullRequest
0 голосов
/ 20 февраля 2012

Как проверить, является ли файл (jpg, png, gif) изображением в PHP?

Мне нужна такая функция:

boolean isImage($url);

Или:

boolean isImage(binary_data_from_http_post);

Я думаю, что второй способ лучше, потому что работает до сохранения файла на диске.

Я не хочу экспериментировать с копированием со случайной страницы, найденной в Google.

Ответы [ 2 ]

3 голосов
/ 20 февраля 2012

Вы можете использовать finfo

http://de3.php.net/manual/en/function.finfo-file.php

Или получить размер изображения

http://de.php.net/getimagesize

0 голосов
/ 20 февраля 2012

Вы можете использовать расширение PHP GD для проверки правильности изображения:

function isImage($url) {
    $buffer = file_get_contents($url);
    $img = imagecreatefromstring($buffer);
    return ($img !== false) ? true : false;
}

Если у вас уже есть потенциальные данные изображения, вы можете использовать это вместо:

function isImage($data) {
    return (imagecreatefromstring($data) !== false) ? true : false;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...