Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ВСТУП пхп.docx
Скачиваний:
1
Добавлен:
01.03.2025
Размер:
9.07 Mб
Скачать

Лабораторна робота №12 Серверні додатки. Бібліотечні функції php

Мета роботи: Навчитися використовувати CКБД MySQL — створювати таблиці, запити, тощо, за допомогою засобів РhpMyAdmin

Теоретичні відомості

Гнучкість мови PHP багато в чому забезпечується різноманітними бібліотечними функціями. Основні бібліотеки включені до типової поставки пакету PHP і завжди доступні, тобто не потрібно підключати модулі бібліотек і збирати заново PHP. Детальний опис доступних бібліотек наведено в керівництві програміста. Тут наведемо опис деяких бібліотечних функцій, які можуть знадобитися для виконання завдання лабораторної роботи. Перш ніж перейти до цього опису, наведемо задачу до алгоритмическому поданням (на рівні опису кроків алгоритму):

  1. Відкрити файл статистики скачування

  2. Поки не досягнуто кінець файлу

    1. Прочитати запис з файлу

    2. Виділити з запису ім'я файлу

    3. Для цього файлу збільшити значення лічильника скачування

  3. Закрити файл

  4. Вивести значення лічильника

За близькою до наведеного алгоритму схемою можна підрахувати кількість унікальних скачувань. Для цього потрібно додати обробку ip-адрес, виключаючи повтори.

Отже, функції php, які можна застосувати для реалізації наведеного алгоритму.

Файлові операції

fopen

fopen - Відкриває файл або URL і повертає дескриптор відкритого файлу.

Опис

resource fopen (string filename, string mode [, bool use_include_path [, resource zcontext]])

Параметр mode вказує тип доступу, який ви запитуєте в потоку. Він може бути одним з наступних(таб.12.1):

Таб.12.1 Список можливих режимів для fopen () використовуючи mode

mode

Опис

'r'

Відкриває файл тільки для читання; поміщає покажчик в початок файлу.

'r+'

Відкривати файл для читання і запису; поміщає покажчик в початок файлу.

'w'

Відкриває файл тільки для запису; поміщає покажчик в початок файлу і обрізає файл до нульової довжини. Якщо файл не існує - пробує його створити.

'w+'

Відкриває файл для читання і запису; поміщає покажчик в початок файлу і обрізає файл до нульової довжини. Якщо файл не існує - пробує його створити.

'a'

Відкриває файл тільки для запису; поміщає покажчик в кінець файлу. Якщо файл не існує - намагається його створити.

'a+'

Відкриває файл для читання і запису; поміщає покажчик в кінець файлу. Якщо файл не існує - намагається його створити.

'х'

Створює і відкриває тільки для запису; поміщає покажчик в початок файлу. Якщо файл вже існує, виклик fopen () закінчиться невдачею, поверне FALSE і видасть попередження рівня E_WARNING. Якщо файл не існує, спробує його створити. Це еквівалентно вказівкою прапорів O_EXCL | O_CREAT для внутрішнього системного виклику open (2). Ця опція підтримується починаючи з версії PHP 4.3.2 і вище, і працює тільки для локальних файлів.

'х+'

Створює і відкриває для читання і запису; поміщає покажчик в початок файлу. Якщо файл вже існує, виклик fopen () закінчиться невдачею, поверне FALSE і видасть попередження рівня E_WARNING. Якщо файл не існує, спробує його створити. Це еквівалентно вказівкою прапорів O_EXCL | O_CREAT для внутрішнього системного виклику open (2). Ця опція підтримується починаючи з версії PHP 4.3.2 і вище, і працює тільки для локальних файлів.

'b'

Відкриває файл у двійковому режимі.

Необов'язковий третій параметр use_include_path може бути встановлений в '1 'або TRUE, якщо ви також хочете провести пошук файлу в include_path.

Якщо відкрити файл не вдалося, функція поверне FALSE і згенерує помилку рівня E_WARNING. Ви можете використовувати @ для того, щоб придушити це попередження.

Лістинг 12.1. Приклади використання функції fopen ()

fgets

fgets - Читає рядок з файлу

опис

string fgets (resource handle [, int length])

Повертає рядок розміром в length - 1 байт, прочитану з дескриптора файлу, на який вказує параметр handle. Читання закінчується, коли кількість прочитаних байтів досягає length - 1, по досягненні кінця рядка (який включається в повернене значення) або по досягненні кінця файлу (що б не зустрілося першим). Якщо довжина не вказана, за замовчуванням її значення дорівнює 1 кілобайт або 1024 байтам.

Покажчик на файл повинен бути коректним і вказувати на файл, успішно відкритий функціями fopen () або fsockopen ().

У разі виникнення помилки функція повертає FALSE.

Лістинг 12.2. Прогресивне читання файлу

feof

feof - Перевіряє, чи досягнутий кінець файлу

опис

bool feof (resource handle)

Функція повертає TRUE у разі, коли дескриптор вказує на досягнення кінця файлу або ж якщо сталася помилка (включаючи таймаут сокета), інакше повертає FALSE (див. лістинг 12.2).

fclose

fclose - Закриває дескриптор файлу

опис

bool fclose (resource handle)

Функція закриває файл, на який вказує handle. Дескриптор повинен вказувати на файл, відкритий раніше за допомогою функції fopen () або fsockopen ().

Повертає TRUE у разі успішного завершення або FALSE в разі виникнення помилки (див. лістинг 2).

file_get_contents

file_get_contents - Отримати вміст файлу у вигляді одного рядка

опис

string file_get_contents (string filename [, bool use_include_path [, resource context [, int offset [, int maxlen]]]])

Вміст файлу повертається в рядку, починаючи з зазначеного зміщення offset і до maxlen байтів. У разі невдачі, file_get_contents () поверне FALSE.

Використання функції file_get_contents () найвпевненіше в разі необхідності отримати вміст файлу цілком.