file_get_contents

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

file_get_contents — Читає вміст файлу в рядок

Опис

file_get_contents(    string $filename,    bool $use_include_path = false,    ?resource $context = null,    int $offset = 0,    ?int $length = null): string|false

Данная функция похожа на функциюfile() з тією лише різницею, що file_get_contents() повертає вміст файлу в рядку, починаючи з вказаного усунення offsetи доlengthбайт. В случае неудачи,file_get_contents() поверне false

Использование функцииfile_get_contents() найкраще в разі необхідності отримати вміст файлу повністю, оскільки для поліпшення продуктивності функція використовує техніку відображення файлу в пам'ять (memory mapping), якщо вона підтримується вашою операційною системою.

Зауваження :

Якщо ви відкриваєте URI, що містить спецсимволи, такі як пропуск, вам потрібно закодувати URI за допомогою urlencode()

Список параметрів

filename

Ім'я файлу, що читається.

use_include_path

Зауваження :

Можна використовувати константу **FILE_USE_INCLUDE_PATH**для поиска файла вinclude path. Тільки пам'ятайте, що якщо ви використовуєте строгу типізацію, то так зробити не вийде, оскільки FILE_USE_INCLUDE_PATH має тип int. У такому разі використовуйте true

context

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

offset

Усунення, з якого почнеться читання оригінального потоку. Негативне значення усунення буде відраховуватися з кінця потоку.

Пошук усунення (offset) не підтримується під час роботи з віддаленими файлами. Спроба пошуку усунення на нелокальних файлах може працювати при невеликих усуненнях, але результат буде непередбачуваним, оскільки функція працює на буферизованому потоці.

length

Максимальний розмір даних, що читаються. За промовчанням читання здійснюється доки не буде досягнуто кінець файлу. Зверніть увагу, що цей параметр застосовується і до потоку з фільтрами.

Значення, що повертаються

Функція повертає прочитані дані або **false**в случае возникновения ошибки.

Увага

Ця функція може повертати як логічне значення **false**так і значення не типу boolean, яке наводиться до false. За більш детальною інформацією зверніться до розділу Логічний типИспользуйтеоператор === для перевірки значення, яке повертається цією функцією.

Помилки

Буде згенеровано помилку рівня E_WARNING у випадках, якщо не вдасться знайти filename, заданlength менше нуля, або пошук по зміщенню offset у потоці завершиться невдало.

Когдаfile_get_contents() викликається у каталозі, у Windows помилка генерується E_WARNING, а з PHP 7.4 також в інших операційних системах.

список змін

ВерсияОпис
8.0.0Параметрlength тепер припускає значення null
7.1.0Додано підтримку негативних значень offset

Приклади

Приклад #1 Отримати та вивести вихідний код домашньої сторінки сайту

Loading...

Приклад #2 Пошук файлів у include_path

Loading...

Приклад #3 Читання розділу файлу

Loading...

Висновок наведеного прикладу буде схожим на:

string(14) "lle Bjori Ro"

Приклад #4 Використання потокових контекстів

Loading...

Примітки

Зауваження: Ця функція безпечна для обробки даних у двійковій формі.

Підказка

У цю функцію як ім'я файлу можна передавати URL-адреси, якщо була включена директива fopen wrappers. Докладніше про те, як вказати ім'я файлу, описано в описі функції fopen(). В розділі "Підтримувані протоколи та обгортки» також дано посилання на інформацію про можливості підтримуваних обгорток, зауваження щодо роботи з ними та список визначених змінних, які вони дають.

Увага

При використанні SSL Microsoft IIS порушує протокол, закриваючи з'єднання без надсилання індикатора close_notify. PHP повідомить про це як "SSL: Fatal Protocol Error" в той момент, коли буде досягнуто кінця даних. Щоб обійти це, потрібно встановити директиву error_reportingна уровень, исключающий E_WARNING. PHP вміє визначати, що на стороні сервера проблемний IIS при відкритті потоку обгорткою https:// та не виводить попередження. Якщо розробник створює сокет ssl:// через виклик функції fsockopen(), він сам відповідає за визначення та придушення цього попередження.

Дивіться також