Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    Verificare se un url è attivo

    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

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,503
    Puoi usare la funzione file_get_contents() verso l'url che vuoi e leggerne il contenuto.

  3. #3
    Quote Originariamente inviata da Alhazred Visualizza il messaggio
    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

  4. #4
    Quote Originariamente inviata da Alhazred Visualizza il messaggio
    Puoi usare la funzione file_get_contents() verso l'url che vuoi e leggerne il contenuto.
    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)

  5. #5
    Puoi provare "get_headers" - cerca sul manuale questa funzione, ti restituisce un array dove il primo elemento è il codice HTTP

  6. #6
    Quote Originariamente inviata da picouli Visualizza il messaggio
    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

  7. #7
    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)

  8. #8
    Quote Originariamente inviata da satifal Visualizza il messaggio
    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
    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

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.