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

    Elenco dei files presenti in una cartella, con eccezioni

    Come da titolo.

    Come posso elencare tutti i files che sono presenti in una cartella (la stessa in cui la pagina viene eseguita)?
    Facendo però delle eccezioni per alcuni file

  2. #2
    Ecco uno script per scrivere i nomi di tutti i file contenuti in una cartella. Me l'ha passato un po di tempo fa un amico...

    Codice PHP:
    <?
    /*
    se il file è nella cartella radice e vuoi fare la lista dei file di una cartella figlio devi
    inserire il path, altrimenti non trova la cartella e ti da errore. Se inserisci il carattere "."
    vuol dire che cercherà nella cartella dove è questo file. Se inserisci il carattere ".." cercherà nella cartella precedente, e così via come in dos.
    */

    $path="c:/Programmi"

    /*   
    Questa è la fuzione che apre la directory. Gli va specificato il path ovvimente. La funzione restitusce un valore booleano.
    */

    $dir=opendir("$path"); 

    if(
    $dir){

    //la funzione readdir() legge i file presenti nella cartella finché non sono finiti!!
    while ($file readdir($dir)){ 

    //controllo di non leggere i file nulli o le directory precendenti
    if($file != '..' && $file !='.' && $file !=''){ 

    echo 
    "<A HREF=$path/$file>$file</A>
    "
    ;    //scrivo un link man mano che trovo file    
        
    }//fine if

    }//fine while

    closedir($dir);

    clearstatcache();

    }
    //fine if

    else {echo "IMPOSSIBILE aprore la directory specificata!";}// in caso di errore appare questo!

    ?>

  3. #3
    ciao
    ci sarebbe un modo per dirgli di elencarli in ordine alfabetico e non di data?

  4. #4
    Ma intendi visualizzare solo determinati file con una certa estensione? che so solo i .txt e i .jpg e non visualizzare gli altri con altre estensioni?? specifica meglio senno' piu' del codice che ti ho postato precedentemente non posso aiutarti..

  5. #5
    Al posto di stampare al volo un link al file, lo carichi ognuno in un array, ordini l'array con natsort(), quindi scorri l'array e stampi il risultato ordinato secondo un ordine naturale.

    Questo significa che verrà rispettato l'ordine alfabetico e numerico, ma occhio: per natsort() 10.jpg sarà immediatamente dopo 1.jpg.


    Spero di essere stato chiaro.

    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  6. #6
    ciao
    grazie ad entrambi per le rissposte
    @frizzo
    non conta l'estensione, faccio mostrare tutti i file in quella cartella, però adesso avrei la necessità di ordinarli alfabeticamente...

    @alcio
    sapresti darmi qualche indizio su come tradurre in codice quanto dici? Non sono un granchè esperto in ambito php e qui non ho neanche il Worx per cercare le sintassi...
    Immagino che quanto dici vada al posto di echo "<A HREF=$path/$file>$file</A>
    ";
    Non penso di dover inserire nell'array a mano tutti i file, perchè oltretutto la pagina è dinamica, ogni tanto vengono caricati dei file nuovi via ftp.
    Forse c'è qualche funzione per caricare nell'array quanto generato dallo script

  7. #7
    Ho provato sostituendo all' echo"<A HREF ecc ecc
    questo codice, che anche se non crea i link ma mostra solo i testi, sarebbe stato un buon inizio, ma il risultato è identico

    $elenco = array($file);

    natsort($elenco);
    while (list($elinva, $elco) = each ($elenco)){
    echo "
    $elco";
    }

  8. #8
    Codice PHP:
    <?php 
    $path
    ="c:/cartella"

    $dir opendir("$path"); 

    if(
    $dir){ 

          while (
    $file readdir($dir)) { 
             if(
    $file != '..' && $file !='.' && $file !=''){ 
                
    $array_files = array("$file");    
             }
    //fine IF
          
    //fine WHILE

    closedir($dir); 
    clearstatcache(); 

    // ordini l'array in modo NATURALE
    $array_files natsort($array_files);

    echo 
    "<ul>";
    foreach (
    $array_files as &$value) {
        echo 
    "[*]<a href=\"$path/$value\">$value</a>";
    }
    echo 
    "[/list]";


    } else {
    echo 
    "
    <h1>Nessun file nella directory specificata!</h1>
    "
    ;
    }


    ?>
    Così dovrebbe andare. Provalo però che io non l'ho fatto!
    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  9. #9
    Parse error: syntax error, unexpected '&', expecting T_VARIABLE or '$' in /web/htdocs/......./home/test.php on line 26

    cioè
    foreach ($array_files as &$value) {

  10. #10
    prova a cancellare la &.
    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

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.