Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 17
  1. #1

    Problemi: path e inclusioni

    Salve,

    ci sono due cose che non riesco a capire:

    1) Ho un sito le cui pagine sono tutte in .php e ognuna è composta da inclusioni, così posso aggiornarle o modificarle tutte in una sola volta (modificando il file che viene incluso).
    Posso anche includere ciò che è compreso tra <head> e </head> ? Perchè mi sarebbe molto comodo.

    2) Faccio un sacco di confusione con i path e gli URL in php:
    Nella cartella del sito ho cartella1 e cartella2, cartella1 contiene sottocartella1 che a sua volta contiene "filedaincludere.php" e cartella2 che contiene contiene "filecheinclude.php" ... Voglio effettuare l'inclusione di "filedaincludere.php" in "filecheinclude.php" ma non ho idea del path che devo utilizzare. Articoli, guide o aiuti sono ben accetti


    Grazie

  2. #2

  3. #3
    Ciao
    1 - Ciò che è html può sempre essere incluso, nel senso che se in un file php hai una cosa del tipo
    Codice PHP:
    <?php
    echo "<title>Titolo</title>";
    echo 
    "<script type=\"text/javascript\">file.js</script>";
    ?>
    che può tranquillamente essere il contenuto di un tag HEAD, lo puoi includere all'interno di un altro file senza problemi.
    Un file php genera un testo html, quindi puoi scomporre questo testo html come vuoi e farlo scrivere dal php.
    Ad esempio. Creo un file index.php di questo tipo:
    Codice PHP:
    <?php
    echo "<html>";
    include(
    'head.php');
    include(
    'body.php');
    echo 
    "</html>";
    Poi creo il file head.php come sopra (che viene incluso nella index), ed infine creo il file body.php così
    Codice PHP:
    echo "<body>";
    echo 
    "Hola amigo"
    echo "</body>"
    Ed ecco fatto. Chi visita la tua pagina index.php vedrà la pagina che corrisponde al seguente codice sorgente html:
    <html>
    <head>
    <title>Titolo</title>
    <script type="text/javascript">file.js</script>
    </head>
    <body>
    Hola amigo
    </body>
    </html>

    2 - I path puoi metterli come percorso relativo che parte dalla document root del server (per intenderci quella che corrisponde(in locale) all'indirizzo http://localhost/) e che è impostata nel file di configurazione del server.

    Spero di esserti stato utile.
    =======================
    http://www.abidibo.net

  4. #4
    1) Ok, grazie mille

    2) Quindi posso, per risolvere il problema che vi ho posto prima, fare così:

    IN "filecheinclude.php" :

    <?php
    require_once(dirname(__FILE__) . '/../filecheinclude.php');
    require_once(dirname(__FILE__) . '/../');
    require_once(dirname(__FILE__) . '/cartella1/sottocartella1/filedaincludere.php');
    ?>

    E' corretto?

  5. #5
    I percorsi puoi metterli
    - assoluti: scrivi il path completo del file a partire dalla root del disco, ad esmpio in linux /var/www/direcotry_sito/cartella1/sottocartella1/filedaincludere.php
    - relativi (al file che include)
    Nella cartella del sito ho cartella1 e cartella2, cartella1 contiene sottocartella1 che a sua volta contiene "filedaincludere.php" e cartella2 che contiene contiene "filecheinclude.php" ... Voglio effettuare l'inclusione di "filedaincludere.php" in "filecheinclude.php" ma non ho idea del path che devo utilizzare
    in filecheinclude.php devi mettere (se cartella1 e cartella 2 sono allo stesso livello)
    include(../cartella1/sottocartella1/filedaincludere.php);
    Per rendere automatica la cosa guardati la variabile globale $_SERVER
    =======================
    http://www.abidibo.net

  6. #6
    Mah ...

    Nella cartella del sito ho cartella1 e cartella2, cartella1 contiene sottocartella1 che a sua volta contiene "filedaincludere.php" e cartella2 che contiene contiene "filecheinclude.php" ... Voglio effettuare l'inclusione di "filedaincludere.php" in "filecheinclude.php" ma non ho idea del path che devo utilizzare.
    /cartella1/sottocartella1/filedaincludere.php
    /cartella2/filecheinclude.php

    File /cartella2/filecheinclude.php
    Codice PHP:
    <?php 
    include(dirname(__FILE__) . '/../cartella1/sottocartella1/filedaincludere.php');
    ?>

  7. #7
    Ecco forse sono proprio i due puntini "/../" che incasinano la mia mente:
    Cosa esprimono esattamente? Cosa sostituiscono questi due puntini?

    Scusate l'ignoranza, ma ciò che mi sembrava banale ora non lo è più...

    E poi abidibo mi ha detto che se voglio posso far diventare automatica la cosa guardando la variabile globale $_SERVER ... A cosa si riferiva? Mi potete fare un esempio pratico? (mi sono documentato ma non capisco questa variabile a cosa mi serva per rendere automatico il tutto)

    Ancora grazie a tutti e due

  8. #8
    Originariamente inviato da AXELTOPOLINO
    Ecco forse sono proprio i due puntini "/../" che incasinano la mia mente:
    Cosa esprimono esattamente? Cosa sostituiscono questi due puntini?
    Se hai questi dubbi è meglio che, prima di iniziare a pensare a programmare, ti studi le basi dell'informatica:

    http://it.wikipedia.org/wiki/Pathname

  9. #9
    filippo il problema è che so cosa vogliono dire i due puntini, cioè ho posto davvero male la domanda...

    se volessi selezionare una cartella che sta più in alto della cartella superiore?

    esempio: miosito/guide/cartella1/sottocartella1/filecheinclude.php
    miosito/corso/cartella2/filedaincludere.php

    <?php
    include(dirname(__FILE__) . '/../corso/cartella2/filedaincludere.php');
    ?>

    Così non funziona perchè "/../" mi indica "cartella1" e non "miosito"

    la soluzione è per caso questa?

    <?php
    include(dirname(__FILE__) . '/../../../corso/cartella2/filedaincludere.php');
    ?>

    non so se hai capito il mio problema

  10. #10
    Originariamente inviato da AXELTOPOLINO
    la soluzione è per caso questa?
    Perchè, invece di postare un'altro messaggio, non lo provi il codice che scrivi?

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.