Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
PI_lektsii_2016.doc
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
6 Мб
Скачать
☆

13 Робота з файлами

Питання для вивчення

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

    2. Читання з файлів і запис у файли.

    3. Копіювання, перейменування і видалення файлів.

    4. Атрибути файлів.

    5. Навігація по файлам.

    6. Робота з каталогами.

    7. Завантаження файлу на сервер.

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

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

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

int fopen (string filename, string mode [, int use_include_path])

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

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

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

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

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

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

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

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

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

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

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

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

<?

   $ File = fopen ("c: /www/html/file.txt", "r");

   if (! $ file)

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

     ?>

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

<?

   $ File = fopen ("c: /www/html/river.jpg", "rb");

   if (! $ file)

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

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

   int fpassthru (int file)

Аргумент file є дескриптор файлу.

<?

   $ File = fopen ("c: /www/html/pavlovo.jpg", "rb");

   if (! $ file)

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

     else

           fpassthru ($ file);

     ?>

Для текстових файлів існує ще одна функція відображення readfile:

   readfile (string filename)

Звертаємо вашу увагу на те, що в якості аргументу ця функція приймає ім'я файлу, а не його дескриптор:

<?

   readfile ("file.txt");

?>

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

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

int fclose (int file)

Аргумент file є дескриптор файлу, який необхідно закрити.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]