Функції файлової системи PHP: opendir, readdir, closedir
PHP надає програмісту можливість навігації по файловій системі сайту для пошуку файлів і папок. Особливо актуальне використання функцій роботи з файловою системою для веб-ресурсів, використовують CMS.
У цьому прикладі PHP opendir() «відкриває» папку за адресою «корінь сайту» + '/MphpObj/'. У циклі застосовується функція readdir(), яка послідовно читає весь вміст папки. Використання filetype() в конструкції switch дозволяє виводити імена папок в одному стилі, а імена файлів - в іншому. Наведений приклад включає в себе допоміжний код: змінні $i $j і перемикач ситуації «if ($j) »: через чотири ітерації застосовується функція rewinddir(), і процес починається спочатку. По завершенні циклу обробки вмісту заданої папки застосовується функція closedir() і ресурс, створений функцією opendir(), закривається.
Логіка і функції 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 дозволяють просто і швидко вирішити поставлене завдання.Цікаво по темі
Вічноквітучий дол: історія, завдання, як потрапити
У "Варкрафті" багато різних локацій, де виконуються самі різні квести. Серед них можна виділити Вічноквітучий дол. На локації вас чекає понад 150
Видалення файлів функцією PHP unlink
При завантаженні файлів на сайт і при роботі веб-ресурсу виникає завдання видалення застарілих або непотрібних файлів. Для вирішення цієї задачі PHP
Namespace PHP: приклад. Як використовувати простору імен в PHP?
Простір імен завжди існувало як частина алгоритму і завжди був «глобальним». В ході розробки великих проектів, коли створюється безліч файлів
Перевірка наявності файлу PHP file_exists
Широке застосування баз даних не позбавило звичайну файлову систему значення. Запис і читання файлів як і раніше займають значиме місце в
Де знаходиться AppData на Windows 7 і як її відкрити?
Системна папка Application Data - це каталог, який накопичує в собі величезну кількість програмних налаштувань, даних, а також файли, що належать до
Як використовувати Putty: команди і корисні функції
У цьому матеріалі ми познайомимося з PuTTY, безкоштовним клієнтом терміналу для Windows, який дозволяє віддалено керувати серверами на базі Linux по