Realizzazione di un Check Server Headers con PHP5 per utilizzare le risposte e gli Status utilizzando la funzione get_headers | Programmatore PHP Freelance di Napoli per Sviluppo Siti Internet

Status e URL Valide con PHP 5 e get_headers();



In questi giorni mi è capitato di realizzare un piccolo script per verificare se una pagina internet interna o esterna ad un determinato dominio, restituisse un header corretto o non corretto. Ho ritenuto che una tale funzione potesse risultare utile ad ogni Programmatore PHP e quindi ne presento una versione decisamente ridotta.

Quando consultiamo un sito, o meglio quando inoltriamo ad un browser (Internet Explorer, Firefox e affini) la richiesta di una determinata pagina o di un sito, il Server HTTP risponde inoltrandoci il risultato e restituendoci un header con un indicazione chiamata Status che informano il client sull’esito della richiesta.

Prima di tutto elenchiamo quelli che sono gli status più comuni restituiti dai server:

# 200 OK
# 301 Moved Permanently (Spostato in modo permanente)
# 307 Temporary Redirect (Reindirizzamento momentaneo)
# 400 Bad Request 400 (Richiesta non valida)
# 403 Forbidden (Pagina Interdetta)
# 404 Not Found (Pagina non trovata)
# 500 Internal Server Error (Errore interno del server)</span>

Di seguito invece illusto la funzione ridotta, che con le opportune modifiche può risultare utile per verificare indici e collegamenti esterni al proprio sito, monitorare status o redirect 301 e per molti altri usi.

//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)]+\s#i', $headers[0]);
if($esiste==1)
echo "La URL $url risponde correttamente ($headers[0])";
else
echo "La URL $url non risponde correttamente";
}
$url_uno = 'http://www.danieletabacco.com';
$url_due = 'http://www.linkerrato.com';
esistenza("$url_uno");
esistenza("$url_due");

(Guarda l’esempio)

La funzione che mette a disposizione PHP 5 è get_headers() tale funzionalità non è disponibile nelle versione precedenti in cui sarà necessario creare una funzione ad hoc che magari vi illustrerò in qualche post successivo.

Come possiamo notare la funzione preg_match che valuta l’espressione regolare, considera validi (o esistenti) solo i link 200 e 301, qualsiasi Programmatore può però modificare tale espressione, includendo o escludento i diversi status.

PER ULTERIORI INFORMAZIONI:

Daniele Tabacco
Programmatore PHP | Web Developer | Consulente Web e SEO

PHP - MySql - AJAX - HTML5 - JAVASCRIPT - CSS - JSON/XML - JQuery
WebApps, Applicazioni, Realizzazione Siti Mobile per iPhone e Android
Programmatore PHP - Consulente Web Marketing Napoli, Roma, Milano, Firenze.
Tel.+39 329.11.73.918
email: daniele.tabacco[at]gmail.com
skype: daniele.tabacco

Il tuo nome (richiesto)

La tua email (richiesto)

Oggetto

Il tuo messaggio

 


POTREBBE INTERESSARTI ANCHE:
Un semplice Script PHP che consentirà ad ogni Programmatore PHP d includere nel proprio sito web una gallery presa da facebook.
Ti occorre creare un Loop di tutti i commenti ricevuti da un Blog Wordpress? Vediamo come realizzarlo con un pò di esperienza in PHP e senza essere Programmatore
Un semplice e utile suggerimento di come creare un immagine per il proprio sito e collegarla correttamente alla pagina che condivide i link di Facebook
Script realizzato con PHP per la lettura di un particolare elemento all'interno di un nodo XML
Con una funzione PHP un programmatore php può trasformare una url youtube, vimeo o dailymotion in un codice embed


buzzoole code
Leggi altro:
Realizzare CountDown in stile Groupon con JQuery

Ultimamente leggo sempre più spesso di Articoli o Feedback di persone che utilizzano Groupon, oltre ad analizzare il fenomeno dal...

Chiudi