Page 83 - 4636
P. 83
Читання рядків довільної довжини: функція fread()
Останній спосіб читання з файлу передбачає використання функції fread(), яка читає з файлу
довільну кількість байт. Ця функція має наступний прототип :
string fread(resource fp, int length) ;
Функція зчитує length байт або всі байти до кінця файлу - залежно від того, що відбудеться раніше.
Перевірка, чи існує файл: функція file__exists()
Якщо необхідно перевірити, чи існує той чи інший файл, не відкриваючи його, можна скористатися
функцією file_exists(),як показано в прикладі:
if (file_exists("$DOCUMENT_ROOT/../orders/orders.txt")) {
echo 'Є замовлення, що очікують обробки.' ;}
}else {
echo 'На даний момент замовлень немає.' ;
}
З'ясування розміру файлу: функція filesize()
Розмір файлу можна визначити за допомогою функції filesize():
echo filesize("$DOCUMENT_ROOT/../orders/orders.txt" ) ;
Вона повертає розмір файлу, виражений у байтах. Ця функція може використовуватися у поєднанні
з функцією fread() для зчитування всього файла (або деякої його частини).
Видалення файлу: функція unlink()
Якщо після обробки замовлень файл замовлень повинен бути вилучений, це можна зробити за
допомогою функції unlink ().
Наприклад:
unlink ("$DOCUMENT_ROOT/../orders/orders.txt" ) ;
Ця функція повертає значення false, якщо файл не може бути видалений. Як правило, це
відбувається при недостатньому рівні прав доступу до файлу або якщо файл взагалі не існує.
Переміщення всередині файлу: функції rewind(), fseek() і ftell()
Перевіряти і маніпулювати позицією всередині покажчика файлу можна за допомогою функцій
rewind(), fseek() і ftell().
Функція rewind() переустановлює покажчик файлу на початок файлу. Функція ftell()
повідомляє в байтах позицію покажчика щодо початку файлу.
Функція fseek() може використовуватися для установки покажчика файлу в деяку конкретну
точку всередині файлу. Її прототип має вигляд:
int fseek (resource fp, int offset) [, int whenсe ] ;
У результаті виклику функції fseek() покажчик файлу fp встановлюється в точку файлу, що має
зсув offset байт щодо позиції, заданої параметром whence (звідки). Необов'язковий параметр
whence за замовчуванням набуває значення SEEK_SET, яке фактично означає початок файлу.
Іншими можливими значеннями є SEEK_CUR (поточне положення покажчика файлу) і SEEK_END
(кінець файлу).
Виклик функції rewind() еквівалентний виклику функції fseek() зі зміщенням, рівним нулю.
Наприклад, ви можете використовувати функцію fseek() з метою знаходження середнього запису у
файлі або для реалізації бінарного пошуку.
Часто, коли подібні завдання необхідно вирішувати стосовно досить складного файлу даних, є сенс
віддати перевагу базам даних.
80