Ciao a tutti,
è da qualche giorno che cerco uno script o qualche informazione valida senza risultati. Mi occorrerebbe uno script che in base ad un determinato url mi dica se quell'url è attivo oppure è in status 404.
Chi mi sa aiutare?
Grazie
Ciao a tutti,
è da qualche giorno che cerco uno script o qualche informazione valida senza risultati. Mi occorrerebbe uno script che in base ad un determinato url mi dica se quell'url è attivo oppure è in status 404.
Chi mi sa aiutare?
Grazie
Puoi usare la funzione file_get_contents() verso l'url che vuoi e leggerne il contenuto.
Ciao e Grazie per il consiglio. Ieri, ho trovato anche un piccolo script che rileva quando un url è in status 404. Ma quando il browser restituisce il messaggio: Non è possibile collegarsi all'indirizzo www.dominio.tld, qual'è il codice di errore?
su wikipedia, c'è un articolo sugli HTTP_STATUS, ma non so quale sia.
Adesso cerco questa funzione e vedo un pò che riesco a fare.
ciao e grazie
Anche io ho avuto la stessa idea, ma andando a spulciare il manuale riguardo a tale funzione ho visto che in caso di errore essa restituisce semplicemente FALSE. Bisogna fare delle prove e capire se è possibile anche identificare il vero motivo per cui la funzione restituisce false.
"Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)
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.
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])";
echo "<br/>";
}
$url_uno = 'http://www.google.it';
$url_due = 'http://www.linkerrato-non-esiste.it';
esistenza("$url_uno");
esistenza("$url_due");
?>
dove sbaglio? o meglio, come faccio ad aggiungere altri url da controllare rispetto allo script originale?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");
?>
Grazie mille
Cos'è questa roba?
Codice PHP:
...
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])";
...
}
IF
"Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)
Ciao, immaginavo che l'errore stava li, ma guardando la documentazione o alcune guide di html.it sull'utilizzo degli if, else, elseif, ho provato ad utilizzarli ma senza risultati. Ho dato una lettura alla guida php che mi hai postato, ma non riesco a capire come devo utilizzare le if e gli else nel mio caso.
Mi potresti illuminare?
Ti ringrazio molto