В любом случае я могу проверить, если URL-адрес указывает на правильное изображение (используя JS / PHP / ZendFramework)? - PullRequest
1 голос
/ 29 июля 2010

Я занимаюсь разработкой приложения для тестирования / обучения.мне интересно, как я могу проверить, если изображение с другого сайта / домена ... я разбил мою логику проверки на следующее

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

Ответы [ 2 ]

4 голосов
/ 29 июля 2010

getimagesize() может делать все, кроме последнего из ваших очков. Для этого вы можете использовать filesize(). Для filesize() вам действительно нужно его скачать, но, учитывая, что getimagesize() также требует этого, вы можете просто сохранить его во временный файл. Вы можете использовать tempnam(), чтобы получить временный файл, который не конфликтует с другими.

0 голосов
/ 29 июля 2010
  1. проверка, существует ли URL:

    $handle = curl_init($url); curl_setopt($handle, CURLOPT_RETURNTRANSFER, TRUE); $response = curl_exec($handle); $status = curl_getinfo($handle, CURLINFO_HTTP_CODE); if($status == 404) {//return true or whatever}

  2. - изображение, имеет допустимый тип: определите, имеет ли расширение файладопустимо, например, с использованием

    preg_match('/(jp[e]?g|png|gif|etc...)$/i', $url);

  3. имеет определенные измерения: используйте GD для создания ресурса, а затем проверьте размер по getImageSize($resource)

  4. меньше максимального размера: в дополнение к шагу 1 - $size = curl_getinfo($handle, CURLINFO_SIZE_DOWNLOAD);

Помните, что у вас должны быть включены cURL и GD.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...