Visualizzazione risultati 1 fino 10 di 10

Discussione: (elencare file in una) directory???

  1. #1
    Guest

    Question (elencare file in una) directory???

    Codice PHP:
    chdir($destinaz);
    $dir_handle = opendir('$destinaz') ;

    while(
    $file = readdir($dir_handle)) {
    if(
    $file == "." || $file == ".." || $file =="/")
    continue;
    echo
    "$i <img src='/$destinaz/$file' width='100px' height='100px'/> <a href='/$destinaz/$file'>$file</a><br />";}
    if(
    $i > $o){ die("<a href='/mostrafoto.php?i=$i+1'>continua</a>");}


    closedir($dir_handle);
    ciao ragà dove sbaglio in questo tag??? premetto che le cartelle esistono e anche i files inclusi (li vedo nel file manager ma non nel sito :( )

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

    Predefinito

    Qua:
    Codice PHP:
    $dir_handle = opendir('$destinaz') ;
    Quel $destinaz fra virgolette è la stringa "$destinaz", non la variabile destinaz. Togli gli apici, il resto è grezzo ma più o meno fa cose.

    In altri casi, ti servono i doppi apici per poter usare nomi di variabili, come infatti fai poche righe sotto.
    Ultima modifica di dreadnaut : 24-02-2011 alle ore 00.04.49

  3. #3
    Guest

    Predefinito

    ciao ho seguito il tuo consiglio ma non mi apre lo stesso la cartella :( cioè la crea inserisce i file dopo l upload ma non mi visualizza le immagini in essa contenute :( dove è che sbaglio!!!

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

    Predefinito

    Metti un error_reporting(E_ALL); all'inizio dello script, e vedi che errori ti appaiono.

  5. #5
    Guest

    Predefinito

    opendir è una funzione arcaica...
    perchè non usate glob() ??

  6. #6
    Guest

    Predefinito

    Unable to access /images/ecc. in /membri/sharefiles/ecc
    più o meno si ripete questo messaggio come se la cartella non esistesse mentre invece cè ed anche i files all interno!!! :(

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

    Predefinito

    @miniscript Perché mi sembra più utile correggere quello che ha piuttosto che riscrivere tutto.

    Quegli "ecc" ce li hai messi tu, oppure è effettivamente il nome della directory? E' probabile che ci sia un problema di path "relativo" vs path "assoluto", controlla di usare quello corretto. Per sicurezza puoi usare quello assoluto, che comincia con /membri/sharefiles/
    Ultima modifica di dreadnaut : 24-02-2011 alle ore 21.24.26

  8. #8
    Guest

    Predefinito

    si ce li ho aggiunti io gli eccetera, xò vorrei capire la differenza tra path relativo e quello assoluto!!! è da poco che uso il php xò imparo velocemente :) una cosa che ho notato è che se la cartella la creo direttamente dal filemanager mi funziona mentre se la apro mediante mkdir() mi dà questo problema!!! non è che il tag non centra x niente???

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

    Predefinito

    Un path assoluto comincia con '/', che indica la radice dell'albero dei file. Tutti gli accounti di Altervista sono nella directory /membri (alcuni vecchi erano in /membri2). Li dentro, c'è l'unica directory a cui puoi accedere: /membri/sharefiles.

    /membri/sharefiles/ è il path assoluto del tuo sito. Se ci aggiungi nomi di directory, hai il path assoluto a quelle directory, e.g. /membri/sharefiles/immagini/

    Un path relativo invece non comincia con la barra, e viene considerato in relazione alla directory corrente, che è quella dove si trova lo script php in esecuzione.

    Dalla pagina index.php ad esempio (che si trova in /membri/sharefiles/), puoi raggiungere la stessa directory usando semplicemente immagini/. Se il tuo script fosse invece in /membri/sharefiles/script/, dovresti invece "risalire" l'albero, usando ../immagini/.

    A seconda di dove si trova il tuo script, il path relativo per raggiungere la directory con le immagini cambierebbe; quello assoluto non cambia.



    Ora, nel codice in alto prima di sposti nella directory $destinaz usando chdir(), e poi cerchi di aprire una directory con lo stesso nome con opendir(). Siccome non puoi trovare un'altra directory dentro sè stessa, se non c'è, quindi o il path che usi è assoluto, oppure non funziona.

    Oppure elimini il chdir, oppure sostituisci quell'opendir con opendir('.');

  10. #10
    Guest

    Predefinito

    provato ma manco va bene :( cmq non cè problema tanto la cosa + importante cioè che crea la directory e riesce a inserire i file interessati la fà!! vorrà dire che userò mysql x memorizzare le URL :) molto +comodo secondo me :D

Regole di scrittura

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