Читання файлу функцією file get content PHP
Читання файлу або URI - звичайна практика, і, якправило, це вигідно робити відразу і в повному обсязі. Порядкове або посимвольного читання має істотне значення, але причин для цього не так багато, і цим користуються в особливих випадках.
Функція file get content PHP виконує читання в рядок від початку і до кінця файлу. Особливо цікаво її використання, коли в якості файлу виступає адресу ресурсу в Мережі (URI).
опис функції
Функція file get content PHP отримує в якостіпараметра ім'я файлу або URI і видає рядок. В даному прикладі наведено код використання. Звернення до функції відбувається чотири рази. Перший раз читається файл, який містить просто текст, другий раз читається інший файл, який, крім тексту, має HTML-теги.
Наступна пара викликів здійснюється черезперетворення кодування. Це не завжди необхідно, але у випадках, коли на виході утворюються дивні символи, слід застосувати перетворення отриманої після читання рядки, і російські літери будуть видні. Приклад file get contents PHP в браузері буде відображено так, як показано нижче.
Перші два виклики функції не займаються перекладомкодування в потрібний формат, тому російські літери не відображаються. Вміст обох файлів (local-1.txt і local-2.txt) однакове. Природно, в обох файлах є переклади рядка, але браузер їх не розбирає. Функція file get content PHP читає все як є, але в другому файлі є потрібні теги, і рядки відображаються як потрібно, а не в один рядок. Дана обставина не суттєво, тому як за загальним правилом файл читається як є, і наявність в ньому тегів актуально, коли читається HTML-сторінка, а там є все необхідне. Однак ця обставина, особливо факт можливої невідповідності кодування, важливо знати.
Інші параметри функції
Якщо потрібно по-особливому щось прочитати,наприклад, тільки частина файлу, або починати з якоїсь конкретної позиції в ньому, можна використовувати параметр зсуву і кількості. Однак функція file get content PHP в деяких випадках може припуститися помилки, прочитавши не те, не в тій кількості чи не з тієї позиції. Якщо читається не локальний файл, то заданий зсув і кількість читаних байт будуть дійсні. У всіх інших випадках краще проконтролювати результат, що видається функцією. Можна задати параметр пошуку файлу в папці include path і параметр ресурсу для читання потокових контекстів.
Послідовність параметрів така:
- ім'я файлу;
- параметр пошуку;
- параметр ресурсу;
- зміщення;
- кількість.
Не бажано використовувати параметр пошуку, хочав деяких випадках це доцільно. При читанні як локальних, так і віддалених файлів або URI краще завжди знати, що читається і звідки. Якщо в URI є спеціальні символи, наприклад пробіл, URI слід кодувати функцією urlencode.
Читання файлу віддалено
Тут функція використовує аналогічно. Немає ніяких істотних відмінностей, за винятком тільки одного обставини: при перших двох викликів PHP file get contents помилка відсутня.
У третьому виклику читається сторінка сайту. Виводиться ця сторінка в поточне місце браузера, в якому діють цілком конкретні CSS-правила, але ніяк не правила відкривається сайту. Тому результат коду, який читає URI, не відповідатиме дійсності. Втім, читання зазвичай переслідує мети парсинга, а не відображення їх в місці читання.
Але ця обставина слід мати на увазі. Читання URI - це далеко не зміст сайту, а тільки конкретну адресу.
Функція читання та парсинг
При неправильному імені читаного файлу або URIможлива помилка. Це легко відстежити по відсутності результату читання. При неправильних інших параметрах функція генерує логічне значення FALSE. Звичайне використання функції читання цілком зв'язується з оптовим завданням параметрів сайту. Наприклад, читання файлу конфігурації, даних про користувачів або файлу налаштувань. У всіх таких випадках:
- результат точно визначений;
- структура читаються даних теж.
При читанні URI заздалегідь важко передбачити, що іяк прочитає, і прочитає чи взагалі. Важливо чітко уявляти, що далеко не завжди прочитане слід виводити в браузер. Одна справа обробка інформації, інша справа спроба контролювати процес обробки HTML-вмісту без спеціальних засобів і заходів в браузері.