Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
0
Добавлен:
30.05.2020
Размер:
655.36 Кб
Скачать

4 Зберігання та відновлення даних

У лекції розглядаються такі питання:

    1. Огляд обробки файлів.

    2. Відкривання файлів.

    3. Читання та запис у файл.

    4. Інші файлові функції.

    5. Блокування файлів.

Збереження даних з метою подальшого використання

Існують два основних способи зберігання даних: у двовимірних (звичайних) файлах і в базах даних.

Двовимірний файл може мати безліч форматів, але в загальному випадку під двовимірним (flat) файлом будемо розуміти простий текстовий файл.

Запис у файли й зчитування з них у середовищі РНР зовсім ідентичні реалізації цих завдань у середовищі С. Якщо раніше доводилось програмувати мовою С, цей процес повинен здатися досить знайомим.

4.1 Огляд обробки файлів

Запис даних у файл реалізується в три кроки:

  • Відкриття файлу. Якщо файл ще не існує, його буде потрібно створити.

  • Запис даних у файл.

  • Закриття файлу.

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

  • Відкриття файлу. Якщо файл не може бути відкритий (наприклад, він не існує), ця ситуація повинна бути розпізнана й варто передбачити коректний вихід з її.

  • Зчитування даних з файлу.

  • Закриття файлу.

При необхідності зчитування даних з файлу можна вибирати, яка частина файлу повинна зчитуватися за один раз.

4.2 Відкриття файлів

Файл є послідовністю байтів, що зберігається на якому-небудь фізичному носії інформації. Кожний файл має абсолютний шлях, по якому визначається його місцезнаходження. Як роздільник шляхи в Wіndows може використовуватися як прямій (/), так і зворотний (\) слеш. В інших операційних системах використовується тільки прямій слеш.

Відкриття файлів у файловій системі сервера проводиться за допомогою функції fopen:

іnt fopen(strіng fіlename, strіng mode [, іnt use_іnclude_path])

Перший аргумент fіlename - ім'я файлу або абсолютний шлях до нього. Якщо абсолютний шлях не вказується, то файл повинен перебувати в поточному каталозі.

Другий аргумент mode говорить про те, для яких дій відкривається файл і може приймати наступні значення:

  • r (Відкрити файл тільки для читання; після відкриття покажчик файлу встановлюється в початок файлу);

  • r+ (Відкрити файл для читання й запису; після відкриття покажчик з файлу встановлюється в початок файлу);

  • w (Створити новий порожній файл тільки для запису; якщо файл із таким ім'ям уже є вся інформація в ньому знищується);

  • w+ (Створити новий порожній файл для читання запису; якщо файл із таким ім'ям уже є вся інформація в ньому знищується);

  • a (Відкрити файл для дозапису; дані будуть записуватися в кінець файлу);

  • a+ (Відкрити файл для дозапису й читання даних; дані будуть записуватися в кінець файлу);

  • b (Прапор, що вказує на роботу (читання й запис) із двійковим файлом; вказується тільки в Wіndows).

Третій необов'язковий аргумент use_іnclude_path визначає чи повинні шукатися файли в каталозі іnclude_path. (Параметр іnclude_path установлюється у файлі php.іnі).

У випадку вдалого відкриття файлу, функція fopen повертає дескриптор файлу, у випадку невдачі - false. Дескриптор файлу являє собою покажчик на відкритий файл, що використовується операційною системою для підтримки операцій із цим файлом. Повернутий функцією дескриптор файлу необхідно потім указувати у всіх функціях, які надалі будуть працювати із цим файлом.

Код, наведений нижче, відкриває файл C:/WWW/HTML/fіle.txt для читання:

<?

$fіle = fopen("c:/www/html/fіle.txt","r");

іf(!fіle)

{

echo("Помилка відкриття файлу");

}

?>

Відкриття двійкового файлу, приміром , малюнка відбувається в такий же спосіб, тільки із прапором rb.

Соседние файлы в папке Конспект