Обробка та функції 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 | Використовується для повернення вмісту файлу у вигляді рядка |


