Como sinalizar que não ha um arquivo disponível

Boa tarde pessoal!
Em um determinado formulário busco uma imagem: . Acontece de as vezes não ter a imagem no servidor,por isso preciso de um script que exiba mensagem de erro quando a imagem não existir,alguém poderia me ajudar?

no php tem a função file-exists, pode usar ela para verificar

$Arquivo = ‘/caminho_do_servidor/arquivo.txt’;

if (file_exists($Arquivo)) {
echo “O arquivo Existe…”;
} else {
echo “O arquivo não existe”;
}

1 Curtida

Jair,Boa tarde! Tudo bem?

Veja só,não deu certo,eu tenho que buscar o arquivo de outro site: ‘http://67.207.89.42:3000/api/deliveryPhotos/main/download/’.$num[‘num_id’].’.jpg’; coloquei a variável da seguinte forma:

$Arquivo = ‘http://67.207.89.42:3000/api/deliveryPhotos/main/download/’.$trami[‘num_etiqueta’].’.jpg’;

Agradeço ao auxilio de vocês,esta sendo ótimo!!

boa tarde,
o file_exists é muito bom para local, verificar antes de fazer um upload

para verificar externo usa o curl.

$arquivo = 'https://forum.scriptcase.com.br/uploads/default/original/1X/e588fdb53323fadb7611efe3ebca87c5e9d52a33.png';

if (!$fp = curl_init($arquivo)){
   echo 'Logo do forum não encontrado.';
}else{
   echo 'Logo do forum encontrado.';
   echo "<br><img src='$arquivo'>";
}
1 Curtida

Olá Jair!
Testei o seu script integralmente e consegui buscar a imagem,no entanto para testar se realmente o aviso de imagem não encontrada seria exibido alterei o nome do arquivo conforme abaixo:

$arquivo = ‘https://forum.scriptcase.com.br/uploads/default/original/1X/eeee.png’;

if (!$fp = curl_init($arquivo)){
echo ‘Logo do forum não encontrado.’;
}else{
echo ‘Logo do forum encontrado.’;
echo “
”;
}

Continuou exibindo “Logo do forum encontrado” mesmo não havendo imagem alguma.Onde está o erro?

Agradeço desde já pela ajuda.

certo… então verifica o código de retorno http, 200 OK, 404 não encontrado

$arquivo = "https://forum.scriptcase.com.br/uploads/default/original/1X/e588fdb53323fadb7611efe3ebca87c5e9d52a331.png";
$fp = curl_init($arquivo);
curl_setopt($fp, CURLOPT_NOBODY, true);
curl_exec($fp);
$codigo = curl_getinfo($fp, CURLINFO_HTTP_CODE);
curl_close($fp);

echo "<br>$codigo<br>";

if($codigo == "200")
{
   echo 'Logo do forum encontrado.';
   echo "<br><img src='$arquivo'>";
}
else
{
   echo 'Logo do forum não encontrado.';
}

Jair, Bom Dia!! Tudo bem?
Fiz alguns testes no código que você encaminhou ainda não consegui que ele informe quando não ha o arquivo,exemplo havendo ou não o arquivo a mensagem de retorno sempre “Logo do fórum encontrado.” fiz um outro teste no site : http://phptester.net/ e me informou as seguintes mensagens

" WARNING curl_init() has been disabled for security reasons on line number 2

WARNING curl_setopt() expects parameter 1 to be resource, null given on line number 3

WARNING curl_exec() has been disabled for security reasons on line number 4

WARNING curl_getinfo() expects parameter 1 to be resource, null given on line number 5

WARNING curl_close() expects parameter 1 to be resource, null given on line number 6
Logo do forum encontrado.

"

Agradeço novamente,tem me ajudado muito a decifrar essa questão rs

Olá,

adicionei um echo “
$codigo
”; para ver o retorno , e aparentemente esta tudo OK, testei aqui e esta funcionando

a mensagem de erro é que o phptester não tem o Curl ativado, mas com certeza deve ter no seu servidor.

1 Curtida

Jair

Cara muito obrigado pela ajuda deu tudo certo,realmente estava sendo a questão do Curl,está de parabéns!!!