Функция PHP file get ontents() используется для считывания файла в строку. Если применять ее для дистанционного считывания, не забудьте, что любой URL-адрес со специальными символами должен быть правильно закодирован при помощи urlencode().
Синтаксис:
string file_get_contents ( string $filename [, bool $use_include_path = false [, resource $context [, int $offset = 0 [, int $maxlen ]]]] )
Пример использования file_get_contents():
Возвращаемое значение
Функция возвращает считанные данные или вернет FALSE при ошибке.
Дополнительная информация
file_get_contents() должна стать приоритетной функцией для считывания содержимого файла в строку. Она задействует метод отображения файла в память.
Одно из основных отличий между функциями file() и file_get_contents() заключается в том, что последняя считывает содержимое в строку, начиная с указанного параметра offset, и до maxlen. А file() считывает содержимое в массив.
Версии и история изменений в PHP
Функция file get contents PHP работает с PHP 4 >= 4.3.0, PHP 5, PHP 7.
Параметр offset появился в PHP 5.1.
Параметр maxlen также появился в PHP 5.1.
Связанные функции
Вам также следует знать о следующих PHP-функциях:
file() - считывает весь файл в массив;
fgets() -
считывает строку из указанного файла;
fread() - производит бинарно-безопасное чтение
файла;
readfile() - выводит файл;
file_put_contents() - записывает строку в файл;
stream_get_contents() - считывает остаток потока в строку;
stream_context_create() - создаёт контекст потока.
Параметры
filename
Параметр filename функции PHP file get contents используется для указания имени файла. Это обязательный параметр.
use_include_path
Параметр use_include_path используется для указания, может ли константа FILE_USE_INCLUDE_PATH (из файла php.ini) использоваться для запуска поиска include path. Это необязательный параметр.
context
Параметр context используется для указания контекста, созданного функцией stream_context_create(). Если не нужен произвольный контекст, можно опустить этот параметр при помощи NULL. Это необязательный параметр.
offset
Параметр offset используется для указания смещения, с которого в исходном потоке начинается считывание. Отрицательное значение offset позволяет начинать смещение с конца потока. Это необязательный параметр.
Не забудьте, что поиск (offset) не поддерживается при дистанционной работе с файлами. В редких случаях при работе с нелокальными файлами могут сработать небольшие смещения, но в этом случае результат работы непредсказуем, так как работа производится в потоке в буфере.
maxlen
Параметр maxlen используется для указания максимальной длины данных, которые необходимо считать. По умолчанию считывание производится до конца файла. Это необязательный параметр.
Наглядные примеры
file get contents PHP пример использования:
Приведённый выше код позволяет получить и вывести исходный код страницы указанного сайта. В следующем примере показано, как считать фрагмент данных файла:
В следующем примере показано, как использовать контекст потока для дистанционного открытия файла:
Дополнительные советы
- В функции file get contents используется POST. Для этого сначала нужно создать контекст:
- Можно использовать поточный контекст для установки правильного тайм-аута, не связываясь со значениями php.ini:
- В некоторых случаях использования функции PHP file get contents http возникает проблема с кодировкой UTF-8 при считывании URL-адреса с кодировкой отличной от UTF-8. Это происходит потому, что по умолчанию используется UTF-8. Приведенная ниже функция решает эту проблему:
- Кажется, file ищет файл внутри текущей директории, перед тем как обратиться к include path, даже если установлен флаг FILE_USE_INCLUDE_PATH.
Вроде бы сказано, что include_path – первая локация, в которой должен осуществляться поиск. Но я несколько раз бывал в ситуации, когда директория, содержащая включение файла, оказывалась первой в порядке поиска.
Источник: https://www.internet-technologies.ru/articles/php-znakomimsya-s-funkciey-file-get-contents.html