Wyszukiwanie plików w katalogach (RecursiveDirectoryIterator)
Założenie: Nauczymy się, jak używać klasy RecursiveDirectoryIterator
do rekurencyjnego przeglądania zawartości katalogów i wyszukiwania plików.
Krok po kroku:
- Utworzenie iteratora: Tworzymy obiekt
RecursiveDirectoryIterator
, podając ścieżkę do katalogu, który chcemy przeszukać. Opcjonalnie możemy dodać flagi, np.RecursiveIteratorIterator::CHILD_FIRST
, aby najpierw przetwarzać podkatalogi. - Iteracja po plikach: Pętla
foreach
iteruje po każdym elemencie zwróconym przez iterator.$file->isFile()
sprawdza, czy dany element jest plikiem. - Wyszukiwanie plików po nazwie: Możemy dodać warunek do pętli, aby wyszukać pliki o konkretnej nazwie lub rozszerzeniu.
$directory = new RecursiveDirectoryIterator('/ścieżka/do/katalogu');
$iterator = new RecursiveIteratorIterator($directory, RecursiveIteratorIterator::CHILD_FIRST);
foreach ($iterator as $file) {
if ($file->isFile()) {
// Zrób coś z plikiem
}
}
foreach ($iterator as $file) {
if ($file->isFile() && strpos($file->getFilename(), '.txt') !== false) {
echo "Znaleziono plik: " . $file->getPathname() . "\n";
}
}
Pamiętaj o zastąpieniu '/ścieżka/do/katalogu'
rzeczywistą ścieżką do katalogu.
Ten przykład pokazuje podstawowe użycie klasy RecursiveDirectoryIterator
. Zachęcamy do dalszego eksperymentowania i zgłębiania możliwości tej klasy, aby w pełni wykorzystać jej potencjał w swoich projektach.