Контакти

Управління файлами і каталогами. Управління файлами і каталогами Php функції роботи з файлами і папками

Ось відразу кілька корисних функцій

З файлами можна працювати по різному. Наприклад, відкрити файл, прочитати / записати, закрити і т.д. Можна звичайно і простіше, але про це трохи нижче.

Для загальної інформації зовсім коротко розглянемо перший спосіб

Режими роботи з файлами при відкритті.

За допомогою функції fopen () ми відкриваємо вказаний файл в тому чи іншому режимі:

Відкриття та закриття файлів в php.

У змінну $ f в даному випадку звалиться число, яке буде дескриптором даного файлу. Тобто ми будемо звертатися до нього через його дескриптор.

Дуже маленький приклад:

Припустимо є файл в якому написано: 123456789

В наведеному вище прикладі ми відкриваємо файл тільки для читання, потім за допомогою функції fread () і вже використовуючи дескриптор файлу $ f а не записуючи знову шлях цілком, зачитуємо спочатку перші п'ять символів, отримаємо: 12345

При цьому як і в житті (коли ви в редакторі працюєте з файлами) курсор залишився блимати після п'ятого символу, тобто між цифрами 5 і 6 - про це треба не забувати.

Функцією fgetss () (з двома ss) ми зачитаємо файл через підрядник, але без html тегів.

Функцією fgetc () зачитуємо файл посимвольний

Запис в файл.

Відповідно з якої позиції курсора буде відбуватися запис ми теж регулюємо як і при роботі з звичайними файлами в ворде. Наприклад за допомогою режимів відкриття файлу "a" або "a +" або за допомогою маніпуляцій з курсором:

Але все що описано вище незручно нам, тому що доводиться вручну відкривати файл в певному режимі, писати в нього, рухати курсор, закривати файл. Можна все трохи спростити:

Пряма робота з файлами.

В останній функції file_put_contents () константа FILE_APPEND, якщо її передати третім параметром, не дасть затерти файл новими даними, а додасть їх в кінець файлу. Про це потрібно не забувати!

Докладний приклад прямої роботи з файлами можна подивитися в уроці

Останнє оновлення: 1.11.2015

переміщення файлу

Для переміщення файлу застосовується функція rename ():

Якщо у нас в каталозі файлу hello.txt є підкаталог subdir, то файл буде в нього переміщений. Якщо файл був успішно переміщений, функція поверне значення true.

копіювання файлу

Для копіювання файлу використовується функція copy (). Вона приймає ім'я копируемого файлу, і ім'я копії файлу. І якщо копіювання пройшло успішно, повертає значення true:

видалення файлу

Для видалення файлу застосовується функція unlink, яка приймає ім'я файлу і повертає значення true при успішному видаленні файлу:

створення каталогу

Для створення каталогу використовується функція mkdir ():

If (mkdir ( "newdir")) echo "Каталог створено"; else echo "Помилка при створенні каталогу";

В даному випадку mkdir створює новий каталог "newdir" в поточному каталозі. Якщо створення пройде успішно, то функція повертає значення true, інакше - false

Для створення нової папки в кореневому каталозі можна використовувати вираз mkdir ( "/ newdir").

видалення каталогу

Для видалення каталогу застосовується функція rmdir (). Її використання аналогічно mkdir ():

If (rmdir ( "newdir")) echo "Каталог видалений"; else echo "Помилка при видаленні каталогу";

Операції з каталогами

Для отримання абсолютного шляху до поточного каталогу використовується функція getcwd (), яка повертає шлях у вигляді рядка:

$ Path \u003d getcwd (); echo $ path; // C: \\ localhost

Функція opendir () відкриває певний каталог для зчитування з нього інформації про файлах і каталогах. При успішному відкритті каталогу функція повертає дескриптор відкритого каталогу. Після закінчення роботи з каталогом його треба закрити функцією closedir ().

Для зчитування імені окремого файлу у відкритому каталозі застосовується функція readdir ().

Тепер об'єднаємо ці функції і виведемо на сторінку всі файли і підкаталоги з поточного каталогу:

"; Else echo" файл: $ file
";) Closedir ($ dh); // закриваємо каталог))?\u003e

Ми з Вами вже. І тепер я вирішив торкнутися теми роботи з каталогами в PHP. У цій статті Ви навчитеся створювати каталоги в PHP, Видаляти їх і зчитувати з них файли і підкаталоги.

Почнемо з самого простого: створення каталогу в PHP:

mkdir ( "new_dir");
?>

Після запуску цього скрипта у Вас буде створено порожній каталог " new_dir".

Видалити порожній каталог дуже просто. Для цього використовується функція rmdir ().

rmdir ( "new_dir");
?>

А ось тепер перейдемо до роботі з вмістом каталогів через PHP. Тут є дуже прості правила, яких необхідно дотримуватися. Всі ці правила дуже логічні, і Ви їх застосовуєте, коли вручну переглядаєте вміст каталогів:

  1. Відкрити каталог.
  2. Вважати вміст.
  3. Закрити каталог.

Щоб не мучити Вас в очікуваннях, відразу наведу код, який виводить імена файлів і категорій всередині заданого каталогу:

$ Dir \u003d opendir ( "images");
while (($ f \u003d readdir ($ dir))! \u003d\u003d false)
echo $ f. "
";
closedir ($ dir);
?>

В результаті Ви побачите список всіх файлів і каталогів всередині каталогу " images". Також Ви побачите два цікавих імені" . "І" .. ". Перший означає" поточний каталог", А" .. "- батьківський.

Тепер докладно про функції, які використовуються в цьому прикладі:

  • функція opendir (string $ path) - відкриває каталог, що знаходиться по шляху $ path, А також повертає дескриптор, необхідний для роботи з цим каталогом.
  • функція readdir (resource $ dir) - зчитує поточний елемент в каталозі dir. Поточний елемент задається покажчиком, який зсувається при кожному виклику. Тому виходить, що кожен раз ця функція повертає новий елемент з каталогу. Коли всі елементи закінчилися, то функція readdir () повертає false.
  • функція closedir (resource $ dir) - закриває каталог dir.

Це все найважливіші функції для роботи з каталогами в PHP. Однак, хочеться додати ще одну дуже важливу деталь з приводу функції rmdir (), Яка видаляє каталог. Якщо Ви уважно читали, то я написав, що ця функція видаляє " порожній каталог", Тобто в якому немає жодного файлу і каталогу (крім" . "І" .. "). Іншими словами, якщо в каталозі буде хоча б один файл, то функція rmdir () не спрацює. Ось як вирішити цю проблему Ви дізнаєтеся в наступній статті, тому підписуйтесь на оновлення, щоб не пропустити її появу.



Сподобалася стаття? поділіться їй