Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11

Discussione: [PHP] include

  1. #1

    [PHP] include

    Salve ragazzi,
    sono un novellino di php ma conosco bene il java... volevo chiedere una cosa sulla funzione include

    ho una seguente struttura:

    packageA\classe1.php
    packageA\pachageB\classe2.php (necessita di usare classe1.php)

    packageC\file1.php

    se in file 1 devo usare classe1.php faccio:
    include ("..\packageA\classe1.php");

    se in file 1 devo usare classe2.php faccio:
    include ("..\packageB\classe2.php");
    include ("..\packageA\classe1.php");

    vorrei fare in modo che nel file1 richiamo solo classe2.php perchè classe1.php viene utilizzata da classe2.php quindi vorrei mettere l'include di classe1.php direttamente in classe2.php

    Così facendo ho problemi perche se poi ho altro file, tipo packageC\packageD\packageE\file2.php
    e faccio include ("..\..\..\packageB\classe2.php");
    non trova classe1.php

    Consigli o qualche guida da seguire?

    Grazie
    Luca

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: [PHP] include

    Originariamente inviato da sportfantasy
    Così facendo ho problemi perche se poi ho altro file, tipo packageC\packageD\packageE\file2.php
    e faccio include ("..\..\..\packageB\classe2.php");
    non trova classe1.php
    In genere è una buona cosa usare dei path assoluti:

    include "${_SERVER['DOCUMENT_ROOT']}/....blabla..../file.php";
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3

    Grazie

    Grazie mille...

    Approfitto per fare un'altra domanda:

    a cosa servono le parentesi graffe???

    Grazie ancora

    Luca
    Luca

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: Grazie

    Originariamente inviato da sportfantasy
    a cosa servono le parentesi graffe???
    A isolare il nome della variabile ... anche se in quel caso specifico non sono strettamente necessarie.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5

    altra domanda

    Ma è possibile sapere anche il nome della mia applicazione???

    Cioè facendo $_SERVER['DOCUMENT_ROOT'] mi viene restituito il path del server apache ma non il path completo che serve a me:

    Mi spiego meglio:

    La mia applicazione è contenuta in C:\php\miaApp\...
    raggiungibile con http:\\localhost\miaApp\...

    quindi
    $_SERVER['DOCUMENT_ROOT'] = C:\php

    per sapere il nome della mia app?
    cioè "miaApp" ???

    in modo che l'include va a buon fine?

    Grazie
    Luca

  6. #6
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: altra domanda

    Originariamente inviato da sportfantasy
    Cioè facendo $_SERVER['DOCUMENT_ROOT'] mi viene restituito il path del server apache ma non il path completo che serve a me:

    Mi spiego meglio:

    La mia applicazione è contenuta in C:\php\miaApp\...
    raggiungibile con http:\\localhost\miaApp\...

    quindi
    $_SERVER['DOCUMENT_ROOT'] = C:\php

    per sapere il nome della mia app?
    cioè "miaApp" ???
    Allora: $_SERVER['DOCUMENT_ROOT'] restituisce il path locale che rappresenta la directory di "root" del sito, quella per intenderci richiesta con http://nomehost. E basta. Se i tuoi script sono sotto una directory, la devi aggiungere tu nel path dell'include.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  7. #7
    In java esiste il metodo getContextPath che mi restituisce ad esempio: C:\php\miaApp, in php c'è solo il context root?
    Luca

  8. #8
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da sportfantasy
    In java esiste il metodo getContextPath che mi restituisce ad esempio: C:\php\miaApp, in php c'è solo il context root?
    Non conosco nei dettagli JSP/Servlet ma in PHP non esiste un contesto "applicazione"... nel senso che non c'è uno standard per la realizzazione di un sito o applicazione web. Gli script li metti dove vuoi, come vuoi, con il nome che vuoi.

    Una cosa che si può fare, supponendo che tutta la tua roba sia a partire da una unica directory sotto la "root", è quella di usare $_SERVER["SCRIPT_NAME"] che ti ritorna una cosa del tipo "/dir/..../script.php" (in pratica il nome dello script richiesto relativo alla root). Fai uno split e prendi solo la prima directory.
    Ma dovresti farlo in ogni tuo script prima del include e comunque avrebbe senso solo se vuoi che i tuoi script siano indipendenti dalla directory in cui sono messi.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  9. #9

    Problema

    Il $_SERVER['DOCUMENT_ROOT'] funziona in locale ma non sul mio spazio/dominio Aruba... possibile che la variabile $_SERVER sia disattivata?

    Grazie
    Luca

  10. #10
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: Problema

    Originariamente inviato da sportfantasy
    Il $_SERVER['DOCUMENT_ROOT'] funziona in locale ma non sul mio spazio/dominio Aruba... possibile che la variabile $_SERVER sia disattivata?
    Non so come funzionano le cose su Aruba .... comunque $_SERVER è disponibile da PHP 4.1.0 in poi. Prova a vedere cosa ti dicono le informazioni generate da phpinfo()
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

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.