Обробка та функції PHP File().
Що таке файл?
Файл — це просто ресурс для зберігання інформації на комп’ютері.
Файли зазвичай використовуються для зберігання такої інформації, як:
- Параметри конфігурації програми
- Прості дані, такі як імена контактів проти номерів телефонів.
- Зображення, малюнки, фотографії тощо.
Підтримка форматів файлів PHP
Файлові функції PHP підтримують широкий спектр форматів файлів, зокрема:
- Файл.txt
- File.log
- File.custom_extension, тобто файл.xyz
- Файл.csv
- File.gif, file.jpg тощо
- Файли забезпечують постійне економічно ефективне рішення для зберігання простих даних порівняно з базами даних, які потребують іншого програмного забезпечення та навичок для керування системами СУБД.
- Ви хочете зберігати прості дані, такі як журнали сервера, для подальшого пошуку та аналізу
- Ви хочете зберегти налаштування програми, тобто program.ini
Функція PHP file().
PHP забезпечує зручний спосіб роботи з файлами завдяки багатій колекції вбудованих функцій.
Operaтакі системи, як Windows і MAC OS не чутливі до регістру Linux or Юнекс операційні системи чутливі до регістру.
Застосування перетворення імен, наприклад лише малих літер для іменування файлів, є хорошою практикою, яка забезпечує максимальну міжплатформенну сумісність.
Давайте тепер розглянемо деякі з найпоширеніших файлових функцій PHP.
Функція PHP file_exists().
Ця функція використовується, щоб визначити, чи існує файл чи ні.
- Це стає в нагоді, коли ми хочемо знати, чи існує файл перед його обробкою.
- Ви також можете використовувати цю функцію під час створення нового файлу, якщо ви хочете переконатися, що файл ще не існує на сервері.
Функція file_exist має такий синтаксис.
<?php file_exists($filename); ?>
ТУТ,
- “file_exists()” – це функція PHP, яка повертає true, якщо файл існує, і false, якщо він не існує.
- “$file_name” – це шлях і ім’я файлу, який потрібно перевірити
Код нижче використовує функцію file_exists, щоб визначити, чи існує файл my_settings.txt.
<?php if (file_exists('my_settings.txt')) { echo 'file found!'; } else { echo 'my_settings.txt does not exist'; } ?>
Збережіть наведений вище код у файлі з назвою file_function.php. Припустимо, що ви зберегли файл у папці phptuts у htdocs, відкрийте URL-адресу http://localhost/phptuts/file_function.php у вашому браузері Ви отримаєте такі результати.
Функція PHP fopen().
Функція fopen використовується для відкриття файлів. Він має такий синтаксис
<?php fopen($file_name,$mode,$use_include_path,$context); ?>
ТУТ,
- «fopen» — це функція відкриття файлів PHP
- «$file_name» — ім’я файлу, який потрібно відкрити
- «$mode» — це режим, у якому має бути відкрито файл, таблиця нижче показує режими
режим | Опис |
---|---|
r |
• Прочитати файл з початку. • Повертає false, якщо файл не існує. • Лише для читання |
r+ |
• Прочитати файл з початку • Повертає false, якщо файл не існує. • Читати і писати |
w |
• Записати у файл на початку • обрізати файл до нульової довжини • Якщо файл не існує, спробуйте його створити. • Лише писати |
w+ |
• Запис у файл на початку, скорочення файлу до нульової довжини • Якщо файл не існує, спробуйте його створити. • Читати і писати |
a |
• Додати до файлу в кінці • Якщо файл не існує, спробуйте його створити. • Лише писати |
a+ |
• Php додати до файлу в кінці • Якщо файл не існує, спробуйте його створити • Читати і писати |
- “$use_include_path” є необов’язковим, за замовчуванням – false, якщо встановлено значення true, функція також шукає у включеному шляху.
- «$context» є необов’язковим, його можна використовувати для визначення підтримки контексту.
Функція PHP fwrite().
Функція fwrite використовується для запису файлів.
Він має такий синтаксис
<?php fwrite($handle, $string, $length); ?>
ТУТ,
- «fwrite» — це функція PHP для запису у файли
- «$handle» — це ресурс покажчика файлу
- “$string” – це дані, які потрібно записати у файл.
- «$length» є необов’язковим, його можна використовувати для визначення максимальної довжини файлу.
Функція PHP fclose().
Функція fclose() використовується для закриття файлу в php, який уже відкрито
Він має такий синтаксис.
<?php fclose($handle); ?>
ТУТ,
- "fclose" є функція PHP для закриття відкритого файлу
- «$handle» — це ресурс покажчика файлу.
Давайте тепер розглянемо приклад створення my_settings.txt.
Ми будемо використовувати наступні функції.
- Фопен
- Fwrite
- закрити
Наведений нижче код “create_my_settings_file.php” реалізує наведений вище приклад.
Відкрийте файл |
<?php $fh = fopen("my_settings.txt", 'w') or die("Failed to create file"); ?> |
Закриття файлу |
<?php fclose($fh); ?> |
Створити файл |
<?php $fh = fopen("my_settings.txt", 'w') or die("Failed to create file"); $text = <<<_END localhost;root;pwd1234;my_database _END; fwrite($fh, $text) or die("Could not write to file"); fclose($fh); echo "File 'my_settings.txt' written successfully"; ?> |
Тестування коду
Відкрийте URL-адресу http://localhost/phptuts/create_my_settings.php у веб-переглядачі.
Ви отримаєте наступну сторінку
Примітка: якщо ваш диск заповнений або у вас немає дозволу на запис файлів, ви отримаєте повідомлення про помилку.
Поверніться до URL-адреси http://localhost/phptuts/file_function.php .
Які результати ви отримуєте?
Функція PHP fgets().
Функція fgets використовується для читання файлів php рядок за рядком. Він має наступний базовий синтаксис. fgets($handle); ТУТ,
- «$fgets» — це функція PHP для читання рядків файлу
- «$handle» — це ресурс покажчика файлу.
Давайте тепер розглянемо приклад, який читає файл my_settings.txt за допомогою функцій fopen і fgets.
Наведений нижче код read_my_settings.php реалізує наведений вище приклад.
<?php $fh = fopen("my_settings.txt", 'r') or die("File does not exist or you lack permission to open it"); $line = fgets($fh); echo $line; fclose($fh); ?>
ТУТ,
- Функція «fopen» повертає вказівник на файл, указаний у шляху до файлу
- Функція «die()» викликається, якщо сталася помилка. Він відображає повідомлення та існує виконання сценарію
Функція PHP copy().
Для копіювання файлів використовується функція PHP copy. Він має наступний базовий синтаксис. копіювати ($файл,$скопійований_файл); ТУТ,
- “$file” визначає шлях до файлу та назву файлу, який потрібно скопіювати.
- “copied_file” вказав шлях і назву скопійованого файлу
Наведений нижче код ілюструє реалізацію
<?php copy('my_settings.txt', 'my_settings_backup.txt') or die("Could not copy file"); echo "File successfully copied to 'my_settings_backup.txt'"; ?>
Видалення файлу
Функція роз’єднання використовується для видалення файлу. Наведений нижче код ілюструє реалізацію.
<?php if (!unlink('my_settings_backup.txt')) { echo "Could not delete file"; } else { echo "File 'my_settings_backup.txt' successfully deleted"; } ?>
Функція PHP file_get_contents().
Функція file_get_contents використовується для читання всього вмісту файлу.
Наведений нижче код ілюструє реалізацію.
Різниця між file_get_contents і fgets полягає в тому, що file_get_contents повертає дані файлу як рядок, а fgets читає файл рядок за рядком.
<?php echo "<pre>"; // Enables display of line feeds echo file_get_contents("my_settings.txt"); echo "</pre>"; // Terminates pre tag ?>
Підсумки
- Файл — це ресурс для зберігання даних
- PHP має багату колекцію вбудованих функцій, які спрощують роботу з файлами.
- Загальні файлові функції включають fopen, fclose, file_get_contents
- У таблиці нижче наведено підсумок охоплених функцій
функція | Опис |
---|---|
File_exists | Використовується для визначення наявності файлу чи ні |
fopen | Використовується для відкриття файлу. Повертає покажчик на відкритий файл |
fwrite | Використовується для запису у файли |
закрити | Використовується для відкриття закритих файлів |
fgets | Використовується для читання файлу рядок за рядком |
скопіювати | Використовується для копіювання існуючого файлу |
unlink | Використовується для видалення існуючого файлу |
file_get_contents | Використовується для повернення вмісту файлу у вигляді рядка |