
Originariamente inviata da
picouli
Puoi provare "get_headers" - cerca sul manuale questa funzione, ti restituisce un array dove il primo elemento è il codice HTTP
Ciao,
intanto ti ringrazio per l'indicazione, infatti ho trovato questo script e credo possa essere abbastanza utile per ciò che mi serve.
Codice PHP:
<?php
//Funzione che verifica lo status 200 o 301 di una determinata URL
function esistenza($url){
//Utilizzo la funzione ricevento un array che definisce l'header
$headers = get_headers("$url");
//Nel primo campo dell'array è presente lo status che confronto con espressione regolare
$esiste = preg_match('#^HTTP/.*\s+[(200|301|404)]+\s#i', $headers[0]);
if($esiste==1)
echo "La URL $url risponde con ($headers[0])";
else
echo "La URL $url risponde con ($headers[0])";
echo "<br/>";
}
$url_uno = 'http://www.google.it';
$url_due = 'http://www.linkerrato-non-esiste.it';
esistenza("$url_uno");
esistenza("$url_due");
?>
In questo script, vorrei aggiungere il controllo su altri 4 url, ma restituisce un errore:
Codice PHP:
<?php
//Funzione che verifica lo status 200 o 301 di una determinata URL
function esistenza($url){
//Utilizzo la funzione ricevento un array che definisce l'header
$headers = get_headers("$url");
//Nel primo campo dell'array è presente lo status che confronto con espressione regolare
$esiste = preg_match('#^HTTP/.*\s+[(200|301|404)]+\s#i', $headers[0]);
if($esiste==1)
echo "La URL $url risponde con ($headers[0])";
else
echo "La URL $url risponde con ($headers[0])";
else
echo "La URL $url risponde con ($headers[0])";
else
echo "La URL $url risponde con ($headers[0])";
echo "<br/>";
}
$url_uno = 'http://www.google.it';
$url_due = 'http://www.linkerrato-non-esiste.it';
$url_tre = 'http://www.linkerrato-non-esiste.it';
$url_qua = 'http://www.linkerrato-non-esiste.it';
esistenza("$url_uno");
esistenza("$url_due");
esistenza("$url_tre");
esistenza("$url_qua");
?>
dove sbaglio? o meglio, come faccio ad aggiungere altri url da controllare rispetto allo script originale?
Grazie mille