PHP надає програмісту можливість навігації по файловій системі сайту для пошуку файлів і папок. Особливо актуальне використання функцій роботи з файловою системою для веб-ресурсів, використовують CMS.
Логіка і функції PHP для файлової системи
Файлова система представляється як послідовність файлів і папок, що знаходяться за вказаною шляху. В залежності від операційної системи шлях записується через прямий або зворотній слеш (/або ).
Виклик функції PHP opendir($cPath) створює ресурс по заданому шляху, через який можна послідовно прочитати всі файли і папки, які там знаходяться. Функція не є рекурсивної. Щоб переглянути по заданому шляху всю структуру папок, необхідно писати власний алгоритм.
У цьому прикладі PHP opendir() «відкриває» папку за адресою «корінь сайту» + '/MphpObj/'. У циклі застосовується функція readdir(), яка послідовно читає весь вміст папки. Використання filetype() в конструкції switch дозволяє виводити імена папок в одному стилі, а імена файлів - в іншому. Наведений приклад включає в себе допоміжний код: змінні $i $j і перемикач ситуації «if ($j) »: через чотири ітерації застосовується функція rewinddir(), і процес починається спочатку. По завершенні циклу обробки вмісту заданої папки застосовується функція closedir() і ресурс, створений функцією opendir(), закривається.
Практика застосування
Ідеально - не задавати імена в шляху, який використовується в PHP opendir() function. Функціонал повинен бути максимально вільним у виборі папки, вміст якої становить інтерес. Можна почати процес дослідження з кореня сайту: «$_SERVER['DOCUMENT_ROOT']. '/'» і написати рекурсивний перегляд всіх папок. Це затребувана завдання, особливо для інтернет-магазинів.
Сайти на базі популярних систем управління змушують розробників і власників шукати і змінювати потрібну інформацію (фото товарів, дані по товарах, парсинг інформації та наповнення складу). Сайти ручної роботи можуть бути зацікавлені в зберіганні і читанні інформації поза бази даних у текстовому форматі. Програміст може писати саморазвивающийся код, коли, залежно від умов експлуатації, потрібно змінювати файли *.js, *.css або *.php. У всіх цих і багатьох інших застосуваннях PHP function: opendir, readdir, rewinddir і closedir дозволяють просто і швидко вирішити поставлене завдання.