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. include_once di un file con dentro SCRIPT_NAME o PHP_SELF
    Questa discussione è stata cancellata. Solo gli utenti con diritti di gestione possono vederla.
    • K
      kingpin User • ultima modifica di

      include_once di un file con dentro SCRIPT_NAME o PHP_SELF

      Ciao a tutti,
      vorrei conoscere a runtime il nome del file corrente, anche se questo è incluso in un altro file.

      Spiego meglio la mia necessita con questi 2 files:

      file1.php
      <?php
      include_once ("file2.php");
      ?>

      file2.php
      <?php
      echo $_SERVER['SCRIPT_NAME'];
      echo $_SERVER['PHP_SELF'];
      ?>

      Da browser apro localhost/file1.php

      a video leggo il nome del file contenitore
      /file1.php
      /file1.php

      voglio invece che mi compaia il nome del file incluso
      /file2.php
      /file2.php

      Quali variabili di $_SERVER dovrei leggere? Oppure devo leggere da qualche altra parte?

      Grazie

      0 Miglior Risposta Ringrazia Cita Rispondi

        1 Risposta Ultima Risposta
      • M
        meis User Attivo • ultima modifica di

        Prova con javascript:

        
        <script>
        document.write(location.pathname.substring(location.pathname.lastIndexOf('/')+1));
        </script>
        
        
        0 Miglior Risposta Ringrazia Cita Rispondi

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

          Ciao,
          devi usare FILE

          0 Miglior Risposta Ringrazia Cita Rispondi

            1 Risposta Ultima Risposta
          • K
            kingpin User • ultima modifica di

            @meis said:

            Prova con javascript:

            
            <script>
            document.write(location.pathname.substring(location.pathname.lastIndexOf('/')+1));
            </script>
            
            

            No, parliamo di php grazie
            @Thedarkita said:

            Ciao,
            devi usare FILE
            Ok va bene. La costante FILE mi da solo il nome file oppure path+nome?

            0 Miglior Risposta Ringrazia Cita Rispondi

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

              Se non ricordo male, lo da completo. Se ti serve solo il nome del file puoi eventualmente usare la funzione explode.

              0 Miglior Risposta Ringrazia Cita Rispondi

                1 Risposta Ultima Risposta
              • K
                kingpin User • ultima modifica di

                @Thedarkita said:

                Se non ricordo male, lo da completo. Se ti serve solo il nome del file puoi eventualmente usare la funzione explode.

                confermo che la costante FILE restituisce anche il path fisico (non radicato nel server web ma nel file system e separato da \ su windows e / su *nix).

                Nel mio caso FILE vale C:\wamp\www\file2.php

                Devo quindi spezzare ad ogni \ e prendere l'ultimo elemento, tradotto in php faccio

                [PHP]array_pop(explode(DIRECTORY_SEPARATOR,FILE ));[/PHP]

                problema risolto grazie

                0 Miglior Risposta Ringrazia Cita Rispondi

                  1 Risposta Ultima Risposta
                • K
                  kingpin User • ultima modifica di

                  torno sull'argomento per segnalare che su un altro server compare il messaggio

                  Strict Standards: Only variables should be passed by reference
                  

                  (non compare sulla macchina dove sviluppo...quindi forse dipende dalla versione php)

                  comunque, il messaggio dipende da explode o da array_pop....avevo trovato alcuni workaround ma poi ho preferito cambiare tutto, così

                  [PHP]$path_parts = pathinfo(FILE);
                  $path_parts['basename'];[/PHP]

                  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