Функцията maptree()
Можете да използвате
метода maptree(), за да обработите всички файлове и поддиректории в дадена
директория. Това също е метод на класа File_Find в PEAR. Методът maptree() е
по-мощен от метода mapdir(), тъй като метода, зарежда цялото съдържание на
директорията в масив. Методът има следния синтаксис:
resource maptree(
resource манипулатор_на_директория);
Методът maptree() връща масив.
Резултатния масив, на практика се състои от два различни масива. Първият масив
съдържа всички поддиректории на зададената директория. Вторият масив връща
всички файлове в зададената директория и нейните поддиректории. Следващия ред
илюстрира тази концепция.
dir_tree ( $dirs, $files ) = File_Find ::
maptree( '/var/www/html/meeta' );
Функцията maptree(), както можете да
видите от горния код, връща масив dir_tree, който от своя страна съдържа два
отделни масива: $dirs и $files. Масивът $dirs съдържа всички поддиректории, а
масивът $files съдържа всички файлове в зададената директория и нейните
поддиректории.
Разгледайте следния пример, за да разберете как можете да
използвате функцията maptree(), за да изтриете множество файлове от дадена
директория:
| <?php include 'File_Find.php'; dir_tree ( $dir_delete, $file_delete ) = File_Find :: maptree( '/home/meeta/figures2' ); foreach ( $files_delete as $fd ) { if ( ! ( unlink ($fd))) { echo „Не мога да изтрия файла!“; } else { echo „Файлът е изтрит успешно!“; }} ?> |
| <?php $dir_delete = '/home/meeta/dir1'; if ( rmdir( $dir_delete)) { echo „Директорията е изтрита успешно“; } else { echo „Директорията не може да се изтрие.“: } ?> |
| <?php include 'File_Find.php'; dir_tree ( $dir_delete, $file_delete ) = File_Find :: maptree('/home/meeta/figures2' ); foreach ( $files_delete as $fd ) { if ( ! ( unlink ($fd))) { echo „Не мога да изтрия файла!“; } else { echo „Файлът е изтрит успешно!“; }} foreach ( dir_delete as $dd ) if ( ! ( unlink ($fd))) { echo „Не мога да изтрия Директорията!“; } else { echo „Директорията е изтрита успешно!“; }} ?> |
Ако е добавило въобще кода.