Visualizzazione risultati 1 fino 13 di 13

Discussione: creazione lista file

  1. #1
    Guest

    Predefinito

    come posso creare uno script in php che mi crei un array con tutti i percorsi di tutti i file contenuti nel mio spazio web??
    Esempio: nel mio spazio ho questi tre file contenuti in due cartelle diverse:
    djventu.altervista.org/file1.htm
    djventu.altervista.org/cartella1/file2.htm
    djventu.altervista.org/cartella2/file3.htm
    L'array dovrebbe essere così:
    array[1]="file1";
    array[2]="cartella1/file2";
    array[3]="cartella2/file3";

    chi mi da uno mano per creare uno script che faccia ciò??

  2. #2
    Guest

    Predefinito

    [code:1:a1d256f6a4]
    <?php
    if ($handle = opendir('/percorso/ai/file')) {
    while (false !== ($file = readdir($handle))) {
    $array[]=$file;
    }
    ?>
    [/code:1:a1d256f6a4]

    così ti mette in ogni casella dell'array tutti i files contenuti nella directory che scrivi all'inizio..

    se hai più directory ripetilo per tutte quelle da analizzare

    byez

  3. #3
    Guest

    Predefinito

    Citazione Originalmente inviato da xorx
    [code:1:ab92138afc]
    <?php
    if ($handle = opendir('/percorso/ai/file')) {
    while (false !== ($file = readdir($handle))) {
    $array[]=$file;
    }
    ?>
    [/code:1:ab92138afc]

    così ti mette in ogni casella dell'array tutti i files contenuti nella directory che scrivi all'inizio..

    se hai più directory ripetilo per tutte quelle da analizzare

    byez
    il tuo codice funziona ma io vorrei che mi leggesse anche i file presenti nelle sottocartelle della directory specificata... come posso fare?? Altra cosa: perchè i primi due elementi dell'array sono un punto "." e due punti "..". Mi spiego meglio: array[0]="." e array[1]=".."

  4. #4
    Guest

    Predefinito

    .. dovrebbe essere la cartella precedente
    . la cartella stessa

    Ciao

  5. #5
    Guest

    Predefinito

    Citazione Originalmente inviato da Idioteca
    .. dovrebbe essere la cartella precedente
    . la cartella stessa

    Ciao
    si ma a cosa mi servono??

  6. #6
    Guest

    Predefinito

    Citazione Originalmente inviato da djventu
    Altra cosa: perchè i primi due elementi dell'array sono un punto "." e due punti "..". Mi spiego meglio: array[0]="." e array[1]=".."
    É come in DOS: digitando cd . ti ritrovi nella directory corrente.
    Utilizzando il .. ti ritrovi nella directory precedente.
    Per eliminare bastano due if cmq...

  7. #7
    Guest

    Predefinito

    mi scuso per i ripetuti post successivi... a me dava errore nell'invio, e poi non c'e + possibilità di cancellarli...

  8. #8
    Guest

    Predefinito

    si ma a cosa mi servono??
    la "." non mi è mai servita, ma ad esempio se ti devi riferire con un'istruzione ad una directory di un altro ramo la ".." serve a molto

    se ad es. hai le directory
    "immagini"
    "files"
    e stai creando una pagine html in files, per inserire un'immagine ti riferisci a "../immagini/bellaragazza.jpg"

    Ciao

  9. #9
    Guest

    Predefinito

    si ma a cosa mi servono??
    la "." non mi è mai servita, ma ad esempio se ti devi riferire con un'istruzione ad una directory di un altro ramo la ".." serve a molto

    se ad es. hai le directory
    "immagini"
    "files"
    e stai creando una pagine html in files, per inserire un'immagine ti riferisci a "../immagini/bellaragazza.jpg"

    Ciao

  10. #10
    Guest

    Predefinito

    si ma a cosa mi servono??
    la "." non mi è mai servita, ma ad esempio se ti devi riferire con un'istruzione ad una directory di un altro ramo la ".." serve a molto

    se ad es. hai le directory
    "immagini"
    "files"
    e stai creando una pagine html in files, per inserire un'immagine ti riferisci a "../immagini/bellaragazza.jpg"

    Ciao

  11. #11
    Guest

    Predefinito

    questo lo sapevo, grazie cmq... era solo una curiosità

  12. #12
    L'avatar di madbad
    madbad non è connesso AlterVistiano
    Data registrazione
    25-08-2002
    Messaggi
    842

    Predefinito

    [code:1:b1e60be90c]
    <?php
    if ($handle = opendir('bannerdialtri')) {
    while (false !== ($file = readdir($handle))) {
    $array[]=$file;
    }

    // faccio stampare i risultati dell'array
    $numero_elementi = count($array);
    // la funzione count conta il numero di elementi presenti all’interno di un array
    for ($a = 2; $a< $numero_elementi; $a++) {
    $sottocartella = $array [$a];
    print " <br><font color=red><b>$sottocartella</b></font>";



    if ($handle2 = opendir( "bannerdialtri/$sottocartella")) {
    while (false !== ($file2 = readdir($handle2))) {
    $array2[]=$file2;
    }
    $numero_elementi2 = count($array2);
    // la funzione count conta il numero di elementi presenti all’interno di un array
    for ($a2 = 2; $a2< $numero_elementi2; $a2++) {
    $elencofile2 = $array2 [$a2];
    print "<br> <img src=bannerdialtri/$sottocartella/$elencofile2>" ;
    }
    }
    }
    }
    ?>[/code:1:b1e60be90c]

    Dovevo creare uno script che analizzava una cartella mi dava i nomi della sottocartella e ripeteva l'analisi sulle sottocartelle trovate dandomi la lista dei file contenuti in oguna delle sottocartelle.
    Lo script funziona solo che mi mette nella lista della cartella x2 i file della cartella x e anke della cartella x2
    nella lista della cartella x3 i file delle cartelle x, x2 e x3
    e via dicendo.
    Ho sbagliato qualcosa ma non so' dove mettere le mani.
    Grazie per qualsiasi suggerimento

  13. #13
    L'avatar di madbad
    madbad non è connesso AlterVistiano
    Data registrazione
    25-08-2002
    Messaggi
    842

    Predefinito

    [code:1:c523e13f02]
    <?php
    if ($handle = opendir('bannerdialtri')) {
    while (false !== ($file = readdir($handle))) {
    $array[]=$file;
    }

    // faccio stampare i risultati dell'array
    $numero_elementi = count($array);
    // la funzione count conta il numero di elementi presenti all’interno di un array
    for ($a = 2; $a< $numero_elementi; $a++) {
    $sottocartella = $array [$a];
    print " <br><font color=red><b>$sottocartella</b></font>";



    if ($handle2 = opendir( "bannerdialtri/$sottocartella")) {
    while (false !== ($file2 = readdir($handle2))) {
    $array2[]=$file2;
    }
    $numero_elementi2 = count($array2);
    // la funzione count conta il numero di elementi presenti all’interno di un array
    for ($a2 = $a2+2 ; $a2< $numero_elementi2; $a2++) {
    $elencofile2 = $array2 [$a2];
    print "<br> <img src=bannerdialtri/$sottocartella/$elencofile2>" ;
    }

    }

    }

    }
    ?>
    [/code:1:c523e13f02]

    Visto che nessuno mi rispondeva mi son risposto da solo dopo qualche quarto d'ora di scervellamento ecco qua lo script corretto.
    L'errore e' quello evidenziato in grassetto invece di dare alla variabile $a2 un valore costante di 2 dovevo aumentarla di 2.
    $a2+2

Regole di scrittura

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