readdir

(PHP 3, PHP 4 , PHP 5)

readdir -- legge una voce dall'handle della directory

Descrizione

string readdir ( resource dir_handle)

Restituisce il nomefile del file successivo della directory. I nomi dei file vengono restituiti secondo l'ordine in cui sono memorizzati nel filesystem.

Si faccia caso al modo in cui il valore restituito da readdir() viene controllato negli esempi successivi. Viene controllato esplicitamente che il valore restituito sia identico a (uguale a e dello stesso tipo di (vedere Comparison Operators per maggiori informazioni) FALSE altrimenti avverrebbe che ogni nome di directory il cui nome fosse valutato FALSE interromperebbe il loop (per esempio una directory chiamata "0").

Esempio 1. Elenca tutti i file presenti in una directory

// Nota che l'operatore !== non č esistito fino alla versione 4.0.0-RC2
<?php
if ($handle = opendir('/percorso/ai/file')) {
    echo
"Handle della directory: $handle\n";
    echo
"File:\n";

   
/* Questa č la maniera corretta di eseguire un loop all'interno di una directory. */
   
while (false !== ($file = readdir($handle))) {
       echo
"$file\n";
   }

   
/* Questa č la maniera SCORRETTA di eseguire un loop all'interno di una directory. */
   
while ($file = readdir($handle)) {
       echo
"$file\n";
   }

   
closedir($handle);
}
?>

Nota che readdir() restituirā le voci . e ... Se non si vogliono ottenere queste, si possono semplicemente eliminare:

Esempio 2. Elenca tutti i file della directory in uso ed elimina . e ..

<?php
if ($handle = opendir('.')) {
    while (
false !== ($file = readdir($handle))) {
        if (
$file != "." && $file != "..") {
            echo
"$file\n";
        }
    }
    
closedir($handle);
}
?>

Vedere anche is_dir().