Ciao, sto creando una semplice applicazione che mi ritorna ok o nope nel caso un url non sia reale, ma per ora non funziona e non capisco bene il perché, ecco il codice.
Codice PHP:
if ( filter_has_var( INPUT_GET, 'url' ) && filter_has_var( INPUT_GET, 'url' ) != '' ) {
$url = filter_input( INPUT_GET, 'url', FILTER_SANITIZE_ENCODED );
$fileHeaders = get_headers( $url );
var_dump( $fileHeaders );
if( strtolower( $fileHeaders[0] ) == 'http/1.1 404 not found' ) {
echo json_encode( array( 'risposta' => 'nope' ));
}
else {
echo json_encode( array( 'risposta' => 'ok' ));
}
}
Ho inserito il var_dump() per capire come mai mi dava sempre OK e ho scoperto che il risultato del var_dump() è null.
Ho provato con www.goole.it e www.google.pippo ma se esce sempre null è ovvio che la risposta sarà sempre OK.
Chiaramente la variabile $url riporta il valore passato via GET, è file_headers() che non funziona o non so se c'è qualche impostazione del server che la blocchi ( Altervista per ora con PHP 5 ).
Al limite se qualcuno ha un'idea migliore per verificare se un url esiste è ben accetta :-)