Navigazione

    Privacy - Termini e condizioni
    © 2020 Search On Media Group S.r.l.
    • Registrati
    • Accedi
    • CATEGORIES
    • Discussioni
    • Non letti
    • Recenti
    • Hashtags
    • Popolare
    • Utenti
    • Stream
    • Interest
    • Categories
    1. Home
    2. Categorie
    3. Coding e Sistemistica
    4. Coding
    5. file() e variabile
    Questa discussione è stata cancellata. Solo gli utenti con diritti di gestione possono vederla.
    • F
      francy88 User Attivo • ultima modifica di

      file() e variabile

      Ciao a tutti, ho necessità di usare la funzione file() di php, passando l'url di una pagina.

      Nello specifico in questo modo funziona:

      $file = file("http: / / www . pippo .it");

      mentre se l'url lo passo dinamicamente tramite una variabile, cosi':

      $file = file("$urlPagina");

      non funziona piu' e viene restituito un errore php.

      Come mai? Devo fare qualche operazione sulla variabile prima di darla in pasto alla funzione file??

      Grazie mille

      0 Miglior Risposta Ringrazia Cita Rispondi

        1 Risposta Ultima Risposta
      • T
        thedarkita ModSenior • ultima modifica di

        Ciao francy88,

        dovresti dirci l'errore, comunque probabilmente passi un percorso errato.

        0 Miglior Risposta Ringrazia Cita Rispondi

          1 Risposta Ultima Risposta
        • F
          francy88 User Attivo • ultima modifica di

          Effettivamente stavo passando un url sbagliato perche senza "http : / /" davanti a tutto.
          Se pero' provo a concatenarlo si incasina tutto e la pagina continua a ricaricare all'infinito.....

          0 Miglior Risposta Ringrazia Cita Rispondi

            1 Risposta Ultima Risposta
          • T
            thedarkita ModSenior • ultima modifica di

            Senza che posti il codice è impossibile dirti dove sbagli...

            0 Miglior Risposta Ringrazia Cita Rispondi

              1 Risposta Ultima Risposta
            • F
              francy88 User Attivo • ultima modifica di

              Hai ragione, scusami.
              Ecco il codice:
              [php]
              $urlPagina = $_SERVER['SERVER_NAME'] . $_SERVER['SCRIPT_NAME'];
              $file = file($urlPagina);
              $file = file_get_contents("",$file);

              if(preg_match("/<title>(.+)</title>/i",$file,$m)){
              print "The title of $url is <b>$m[1]";}
              else{
              print "The page doesn't have a title tag";}[/php]cosi non funziona perchè manca l'http 😕 / davanti all'url.

              Se invece provo cosi:

              [php]
              $urlPagina = "http: / /" . $_SERVER['SERVER_NAME'] . $_SERVER['SCRIPT_NAME'];
              $file = file($urlPagina);
              $file = file_get_contents("",$file);

              if(preg_match("/<title>(.+)</title>/i",$file,$m)){
              print "The title of $url is <b>$m[1]";}
              else{
              print "The page doesn't have a title tag";}[/php]non si genera più alcun errore ma la pagina si carica all'infinito (non so se schianta apache o cosa...)

              L'url della pagina son costretto a ricavarlo con
              [php]$_SERVER['SERVER_NAME'] . $_SERVER['SCRIPT_NAME'];[/php]perche REQUEST_URI non è attivo sul server....

              Grazie.

              0 Miglior Risposta Ringrazia Cita Rispondi

                1 Risposta Ultima Risposta
              • T
                thedarkita ModSenior • ultima modifica di

                E ma cosi stai richiamando se stesso, quindi entra in un ciclo infinito.

                0 Miglior Risposta Ringrazia Cita Rispondi

                  1 Risposta Ultima Risposta
                • F
                  francy88 User Attivo • ultima modifica di

                  Ah non ci avevo pensato...sai suggerirmi qualcosa di funzionale? Io ho provato di tutto ma senza risultati...
                  Grazie mille.

                  0 Miglior Risposta Ringrazia Cita Rispondi

                    1 Risposta Ultima Risposta
                  • T
                    thedarkita ModSenior • ultima modifica di

                    Hem, ti sei dimenticato di dirmi cosa vorresti fare...

                    0 Miglior Risposta Ringrazia Cita Rispondi

                      1 Risposta Ultima Risposta
                    • F
                      francy88 User Attivo • ultima modifica di

                      Ho risolto!
                      In pratica mi serviva costruire una funzione che ritornasse il titolo della pagina corrente.
                      Se servisse a qualcun altro il codice è questo:

                      [PHP]function cercaTitoloPagina(){
                      $data=file_get_contents($_SERVER['SCRIPT_FILENAME']);
                      preg_match("/<title>(.+)</title>/i", $data, $m);
                      $titoloPagina = "$m[1]";
                      return ($titoloPagina);
                      }[/PHP]

                      grazie per il supporto!

                      0 Miglior Risposta Ringrazia Cita Rispondi

                        1 Risposta Ultima Risposta
                      Caricamento altri post
                      Rispondi
                      • Topic risposta
                      Effettua l'accesso per rispondere
                      • Da Vecchi a Nuovi
                      • Da Nuovi a Vecchi
                      • Più Voti