Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá a todos,
Gostaria de saber se existe alguma função em PHP q faça um teste em um dado endereco de uma pagina e verifica se ele existe (uma especie de PING se retornar, avisa q está o end. OK, senao, retorna negativo)...
Caso não haja, há alguma possibilidade de se criar algo parecido, tpw o servidor faz um teste no link, e caso retorne um 404 ele avisa q o link nao existe???
Desde já agradeço...
você pode usar system ou exec e usar o ping do SO
outra possibilidade é usar o gethostbyaddr(), como em C:
http://www.php.net/manual/en/function.gethostbyaddr.php
para saber o status HTTP (404, 500 etc), tem que fazer requisição HTTP. Então é cURL na cabeça ;)
Outra possibilidade ainda seria fazer uma verificação dos registros do DNS, usando checkdnsrr():
$validURL = parse_url( 'http://www.google.com' );
$invalidURL = parse_url( 'http://www.inexistentdomain.com' );
var_dump( checkdnsrr( $validURL['host'] ) ); // bool(true)
var_dump( checkdnsrr( $invalidURL['host'] ) ); // bool(false)
Da pra fazer dando PING... :P
O negócio é se você pegar o site em momentos de Estresse, dependendo do servidor... então o ping, como primeira resposta poderia retornar false... (Esgotado)
Primeiramento obrigado a todos...
Tentei alguns desses, no entanto, geralmente eles retornam se o site está registrado ou se a "ortografia" está correta...
O q eu queria saber e se é possivel testar uma URL como http://www.site.com.br/album/img.jpg
Eu testo essa url e caso exista, eu consiga imprimir essa img na minha pag.
Vou pesquisar a biblioteca de cURL para ve se consigo...
Mais uma vz vlw a tdos...
No manual, na documentação referente à file_exists() há, nos comentários, formas de você testar se uma URL existe, analisando os resultados de get_headers().
Muito criativamente chamada de url_exists, veja se ajuda. ;)
Opa Bruno Augusto era isso msm...
Vlw, testei aqui e funcionou perfeitamente...
é bom fazer um mix de todas as dicas.
Como exemplo, não recomendo confiar muito no php-curl porque possui bugs com resolução dns, o qual retorna "DNS unreachable", mesmo para dns válidos e online..
Uma vantagem do curl sobre os outros é ter maior controle sobre o envio e retorno de cabeçalhos, tal como setagem do tempo, limite de redirecionamentos, etc.
Olá!
Se você quer dar um ping, tem esse código de 2 linhas aqui: http://forum.imasters.com.br/index.php?/topic/320013-dando-ping-com-php/
:joia:
Pra ver se o endereço existe, sei que dá pra fazer com o preg_match() ou com o registro.br.
Pesquisando, achei esse, mas não testei pra ver se funciona:
if (strpos($linha, $dom) && !strpos($linha, $inexist)) {
} else {