Как проверить изображение (физический файл) существует или не на внешний веб-сервер через абсолютный URL - [дубликат]
Обычно использую функцию file_exists от PHP чтобы сделать это, когда я разрабатываю удаленно, но теперь мне нужно знать, когда изображение существует или нет в URL абсолютного внешнего веб-сервера.
отредактировать вопрос, чтобы включить больше информация:
Тестировал все эти методы, как на локальном сервере, так и на веб-сервере другой www.issam.com.br и не возвращает правильное значение, кто-нибудь знает, если это возможно?
Imagem que existe = http://www.issam.com.br/ximages/produtos/356031.jpg
Imagem que não existe = http://www.issam.com.br/ximages/produtos/356030.jpg
if(file_exists('http://www.issam.com.br/ximages/produtos/356030.jpg')){
echo"sim";
}else{
echo"nao";
}
if(file_get_contents('http://www.issam.com.br/ximages/produtos/356030.jpg')) {
echo "Existe";
}else{
echo"nao";
}
$arquivo = 'http://www.issam.com.br/ximages/produtos/356030.jpg';
$file_headers = @get_headers($arquivo);
if(!$file_headers || $file_headers[0] == 'HTTP/1.1 404 Not Found') {
echo 'Arquivo não existe.';
}else {
echo 'Arquivo existe.';
}
$arquivo = 'http://www.issam.com.br/ximages/produtos/356030.jpg';
if (!$fp = curl_init($arquivo)){
echo 'Arquivo não existe.';
}else{
echo 'Arquivo existe.';
}
2 answers
Можно сделать несколькими способами.
Кроме того, вариант цитирует @Lucas Caires, может быть...
, Используя get_headers
:
$arquivo = 'http://www.seu_dominio.com.br/seu_caminho/absoluto/arquivo.jpg';
$file_headers = @get_headers($arquivo);
if(!$file_headers || $file_headers[0] == 'HTTP/1.1 404 Not Found') {
echo 'Arquivo não existe.';
}else {
echo 'Arquivo existe.';
}
, Используя CURL:
$arquivo = 'http://www.seu_dominio.com.br/seu_caminho/absoluto/arquivo.jpg';
if (!$fp = curl_init($arquivo)){
echo 'Arquivo não existe.';
}else{
echo 'Arquivo existe.';
}
ПРИМЕЧАНИЕ: Эти два варианта довольно интересны, поскольку не являются загрузить полный файл. Становится гораздо быстрее.
Я Надеюсь, что помог
Вы можете использовать функцию file_get_contents() для этого.
<?php
if(file_get_contents('http://www.exemplo.com.br/imagem.jpg')) {
echo "Existe";
}
?>
, Вспоминая эту функцию, необходимо включить allow_url_fopen в php.ini. Если вы не можете включить это, есть вариант использовать библиотеку cURL. Вот пример использования.