Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    3

    fsockopen non restituisce nulla

    Questa funzione restituisce una stringa vuota ogni volta che "leggo" da un socket. Per esempio, dando "http://google.it" allo script

    codice:
      function check_site($url1) {
          $url1 = "http://$url1";
          $url = parse_url($url1);
          if (empty($url["port"])) $url["port"] = 80;
          if (empty($url["path"])) $url["path"] = "/";
          echo "Apertura $url1 con host {$url["host"]}, porta {$url["port"]}
    ";
          $fp = @fsockopen($url["host"], $url["port"], $errno, $errstr, 30);
    
          if (!$fp) { echo "Errore nella connessione al sito $url1 $errstr($errno)
    "; }
          else
          {
            echo "Aperto!
    ";
            $head = "";
            $httpRequest = "HEAD ". $url["path"] ." HTTP/1.1\r\nHost: ". $url["host"] ."\r\nConnection: close\r\n\r\n";
            echo "Scrittura richiesta
    ";
            fwrite($fp, $httpRequest);
            echo "Lettura richiesta
    ";
            while(!feof($fp)) $head .= fread($fp, 1024);
            fclose($fp);
    
            preg_match("=^(HTTP/d+.d+) (d{3}) ([^\r\n]*)=", $head, $matches);
            if ((int)$matches[2] > 199 && (int)$matches[2] < 300 ) return "$url1 disponibile
    ";
            else return "$url1 non disponibile
    ";
          }
      }
    Mi dà sempre non disponibile, sia che esista, sia che la pagina sia realmente raggiungibile...
    Inoltre se provo a stampare $matches[2] mi dà una stringa vuota. Come mai?

    Il mio sito è hostato du netsons, potrebbe essere qualche valore del phpini che non lo fa andare?

  2. #2
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    prova a controllare di non essere in un ambiente configurato in safe mode


  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    3
    si, è su On... non c'è modo di disattivarlo?

  4. #4
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    secondo te?

    è fatto apposta per evitare certi tipi di operazioni... solo l'amministratore del server può modificare questa impostazione, e se ha fatto questa scelta un motivo c'è...

    Spesso questo tipo di impostazione si trova sui server gratuiti, non so se è il tuo caso...

    ciao

  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    3
    Ok, la domanda era alquanto stupida, hai ragione
    E comunque si, netsons è gratuito e sicuramente avranno usato questo tipo di precauzione.
    Vuol dire che programmerò un piccolo software bot esterno al sito per controllare, invece di usare lo script in php!

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.