(PHP 4, PHP 5)
readdir — Czyta zawartość katalogu
$uchwyt_katalogu
] )Zwraca nazwę kolejnego pliku z katalogu. Nazwy plików są zwracane w kolejności posortowanej przez system plików.
Zwraca nazwę pliku w przypadku powodzenia lub FALSE
w przypadku niepowodzenia.
Ta funkcja może
zwrócić Boolean FALSE
, ale może też zwrócić wartość innego typu niż Boolean, która oznacza
wartość FALSE
, takie jak 0 lub
"". Aby uzyskać więcej informacji proszę zapoznać się z rozdziałem Typy logiczne.
Można używać operatora ===
do testowania zwracanych wartości przez tę
funkcję.
Przykład #1 Lista wszystkich plików w katalogu
Sposób w jaki zwrócona przez readdir() wartość powinna
być sprawdzona, obrazuje poniższy przykład. Należy sprawdzić czy zwrócona
wartość jest równa (jest tego samego typu -- zobacz również
Comparison
Operators) FALSE
. W przeciwnym razie plik o nazwie FALSE
(jak
również "0")
znajdujący się w czytanym katalogu zatrzymałby pętle.
<?php
// !== nie istniał w wersji wcześniejszej niż 4.0.0-RC2
if ($handle = opendir('/path/to/files')) {
echo "Directory handle: $handle\n";
echo "Files:\n";
/* To jest poprawna metoda */
while (false !== ($file = readdir($handle))) {
echo "$file\n";
}
/* To jest ZŁA metoda */
while ($file = readdir($handle)) {
echo "$file\n";
}
closedir($handle);
}
?>
Przykład #2 Lista wszystkich plików w wskazanym katalogu oprócz . i ..
<?php
if ($handle = opendir('.')) {
while (false !== ($file = readdir($handle))) {
if ($file != "." && $file != "..") {
echo "$file\n";
}
}
closedir($handle);
}
?>