Visualizzazione risultati 1 fino 6 di 6

Discussione: Php & directory

  1. #1
    Guest

    Predefinito Php & directory

    Ciao a tutti , desideravo sapere se qualcuno mi poteva illuminare su una cosa che da neofita non riesco a capire sul php e sulla gestione delle diretory.

    Spiegazioni della situazione ecco il mio albero (MAISCOLO sono dir , MINUSCOLO sono files)

    index.php
    main.php
    FILES che contine INCLUDE CSS IMAGES
    NOI che contiene index.php e main.php

    il file index.php della root è

    Codice PHP:
    .......
    // Include: Global Header (<html>, <head>, etc. ...)
    $include_gh = @include('./files/include/global_header.php');

    $include_main = @include('./main.php');

    // Include: Site footer
    $include_footer = @include('./files/include/footer.php');
    ........
    e fin qui va tutto bene riesco a utilizzare tutto compreso img e css.

    Nuova situazione

    chiamo direttamente la dir NOI

    Codice PHP:
    chdir ('../');
    echo
    getcwd()."\n";

    // Include: Global Header (<html>, <head>, etc. ...)
    $include_gh = @include('./files/include/global_header.php');

    $include_main = @include('./noi/main_noi.php');

    // Include: Site footer
    $include_footer = @include('./files/include/footer.php');
    Uso chdir ('../'); per scendere di una dir ma con mia grande sorpresa non funziona ..... in poche parole il css non viene caricato :( ..... qualcuno mi puo spiegare il perche ?

    Grazie a tutti in anticipo
    Ultima modifica di dreadnaut : 12-09-2010 alle ore 21.02.47 Motivo: + tag [php]

  2. #2
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,306

    Predefinito

    chdir non influisce sulla directory usata per includere file, che è la directory dello script chiamato (non di eventuali altri script inclusi)

  3. #3
    Guest

    Predefinito

    Citazione Originalmente inviato da dreadnaut Visualizza messaggio
    chdir non influisce sulla directory usata per includere file, che è la directory dello script chiamato (non di eventuali altri script inclusi)
    Scusami la mia "ignoranza" ma non ho capito bene ....

    se faccio

    chdir ('../');
    echo getcwd()."\n";

    noto che "scalo" la dir e ritorno sulla root principale ..... e da li mi richiamo le include (che vengono chiamate, ma quello che non viene chiamato è il file css che viene chiamo dall interno di una include) .... perchè non funziona ? mi puoi fare un esempio per capire meglio.

    Grazie in anticipo
    Ultima modifica di Fiore : 12-09-2010 alle ore 21.56.23

  4. #4
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,306

    Predefinito

    Ad include non importa se tu hai fatto chdir oppure no. Include usa solo il path che gli hai dato assieme al file, a partire dalla posizione della pagina.

    Mettiamo tu visiti /archivio/index.php:
    • include 'prova.php' va a cercare /membri/tuonick/archivio/prova.php
    • chdir('../'); include 'prova.php' va a cercare /membri/tuonick/archivio/prova.php
    • chdir('../aaaaa/aagfffff'); include 'prova.php' va a cercare /membri/tuonick/archivio/prova.php


    ok?

  5. #5
    Guest

    Predefinito

    Uhhhh scusami in anticipo ma non credo che sia proprio cosi ad include gli interessa il punto da dove parti ... poi posso sempre sbagliare :) ... prendiamo il tuo esermpio

    io visito /archivio/index.php

    dentro questo index.php mettiamo che ci sia un include('./archvio/include/global_header.php');

    e qui tutto ok ... normale amministrazione

    secondo caso:

    io visito /archivio//clienti/index.php

    dentro questo index.php mettiamo che ci sia un include('./archvio/include/global_header.php'); preceduto da chdir('../');

    La situazione è che la include me la apre perfettamente, me ne acorgo perche mi inserisce il title della pagina , ma quello che non riesce ad aprire il link al file css.

    Riassumento chdir fà il suo compito perchè mi permette di aprire il file global_header.php ma non il css c'e è linkato al suo interno ....
    Ultima modifica di Fiore : 12-09-2010 alle ore 23.18.02

  6. #6
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,306

    Predefinito

    Uhm, allora mi sto confondendo

    Il css dove è linkato? E' letto via php, o è nell'html.

    Tag tipo questo
    Codice:
    <link rel="stylesheet" href="files/css/foglio.css" type="text/css" />
    non vengono influezati dal chdir. E' il tuo browser a cercare files/css/foglio.css relativamente alla pagina che stai caricando, e quindi vorrebbe noi/files/css/foglio.css.

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •