2013-11-11 2 views
-1

У меня есть url изображения, сохраненный в моей базе данных. Я использую php и mysql.проверить, доступно ли изображение

Некоторые изображения могут быть отображены, но другие ограничены. На данный момент ограниченное изображение отображается на моем сайте.

Я только для отображения изображений без ограничений.

URL для изображения, которое может быть показано
http://images.icecat.biz/img/gallery/16678932_9061.jpg

ограничен изображение

http://images.icecat.biz/img/gallery/8622798_7908.jpg

я попробовал getimagesize, но, кажется, не может быть имея какую-либо удачи.

вид касается

nafri

+0

get_headers() - это простая оценка –

+0

'if (file_exists ...'. – putvande

+0

Проверьте код результата HTTP, если это 'HTTP/1.1 403 Forbidden', то не отображать его –

ответ

0

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

Вы можете использовать обрабатывать событие OnError для замените изображение или сделайте что-нибудь еще в том случае, если изображение невозможно отобразить.

См. Например, this answer.

1

file_exists() не работает через домены. на стороне сервера может быть сделано как:

$url = 'http://images.icecat.biz/img/gallery/16678932_9061.jpg'; 
$header = get_headers($url, 1); 
if(strpos($header[0],'200') === false){ 
    // do what ever 
} 

EDIT: фиксированный для 200 ответа. Лучше использовать curl, хотя, быстрее это

+0

. Я не получаю 404 для запрещенных изображений. Я получаю HTTP/1.1 200 – naf

+0

, это не работает, поскольку я получаю HTTP/1.1 200 для не запрещенные изображения. – naf

+0

Я попробовал ограниченное изображение из вашего примера (используя IE), и я получаю 403, а не 200. –

Смежные вопросы