Iteracja po katalogu (DirectoryIterator)
Założenie: Nauczymy się, jak iterować po plikach i podkatalogach w danym katalogu za pomocą klasy DirectoryIterator w PHP.
Krok po kroku:
- Utworzenie obiektu DirectoryIterator: Najpierw musimy utworzyć obiekt klasy
DirectoryIterator, przekazując w konstruktorze ścieżkę do katalogu, który chcemy przeglądać. - Iteracja po elementach: Możemy iterować po elementach katalogu za pomocą pętli
foreach. - Uzyskiwanie informacji o plikach i podkatalogach: Obiekt
SplFileInfooferuje wiele metod do pobierania informacji, takich jak nazwa pliku ($fileInfo->getFilename()), pełna ścieżka ($fileInfo->getPathname()), czy jest to plik czy katalog ($fileInfo->isDir()), rozmiar pliku ($fileInfo->getSize()) itd.
$iterator = new DirectoryIterator('/ścieżka/do/twojego/katalogu');
Pamiętaj, aby zastąpić '/ścieżka/do/twojego/katalogu' rzeczywistą ścieżką do Twojego katalogu.
foreach ($iterator as $fileInfo) {
// Tutaj będzie kod przetwarzający każdy plik i podkatalog
}
W każdej iteracji zmienna $fileInfo będzie obiektem klasy SplFileInfo, który zawiera informacje o danym pliku lub podkatalogu.
foreach ($iterator as $fileInfo) {
if ($fileInfo->isFile()) {
echo "Plik: " . $fileInfo->getFilename() . "
";
} elseif ($fileInfo->isDir() && $fileInfo->getFilename() != "." && $fileInfo->getFilename() != "..") {
echo "Podkatalog: " . $fileInfo->getFilename() . "
";
}
}
Ten fragment kodu wyświetla nazwy plików i podkatalogów (pomijając “.” i “..”).
Ten przykład pokazuje podstawowe użycie klasy DirectoryIterator. Zachęcamy do eksperymentowania z innymi metodami klasy SplFileInfo, aby uzyskać bardziej zaawansowane funkcjonalności.