Показать содержимое файла php

file_get_contents

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

file_get_contents () — это предпочтительный способ чтения содержимого файла в строку. Он будет использовать методы отображения памяти, если они поддерживаются вашей ОС, для повышения производительности.

Note:

Если вы открываете URI со специальными символами, такими как пробелы, вам необходимо закодировать URI с помощью urlencode () .

Parameters

Note:

Константа FILE_USE_INCLUDE_PATH может использоваться для запуска поиска пути включения . Это невозможно, если включена строгая типизация , поскольку FILE_USE_INCLUDE_PATH имеет тип int. Вместо этого используйте true .

Допустимый ресурс контекста, созданный с помощью stream_context_create () . Если вам не нужно использовать настраиваемый контекст, вы можете пропустить этот параметр, null .

Смещение,при котором чтение начинается на исходном потоке.Отрицательное смещение от конца потока.

Поиск ( offset ) не поддерживается для удаленных файлов. Попытка поиска в нелокальных файлах может работать с небольшими смещениями, но это непредсказуемо, поскольку она работает с буферизованным потоком.

Максимальная длина считывания данных.По умолчанию читать до конца файла.Обратите внимание,что этот параметр применяется к потоку,обрабатываемому фильтрами.

Return Values

Функция возвращает прочитанные данные или false в случае сбоя.

Эта функция может возвращать логическое значение false , но также может возвращать не-логическое значение, которое оценивается как false . Пожалуйста, прочтите раздел о логических значениях для получения дополнительной информации. Используйте оператор === для проверки возвращаемого значения этой функции.

Errors/Exceptions

E_WARNING ошибка уровня генерируется , если filename не может быть найден, length меньше нуля, или если стремится с указанного offset в потоке не удается.

Когда file_get_contents () вызывается для каталога, в E_WARNING генерируется ошибка уровня E_WARNING , а также в других операционных системах , начиная с PHP 7.4.

Changelog

Version Description
8.0.0 length теперь допускает значение NULL.
7.1.0 Добавлена поддержка отрицательного offset .

Examples

Пример # 1 Получить и вывести исходный код домашней страницы веб-сайта

 $homepage = file_get_contents('http://www.example.com/'); echo $homepage; ?>

Пример # 2 Поиск по include_path

 // If strict types are enabled i.e. declare(strict_types=1); $file = file_get_contents('./people.txt', true); // Otherwise $file = file_get_contents('./people.txt', FILE_USE_INCLUDE_PATH); ?>

Пример # 3 Чтение раздела файла

 // Read 14 characters starting from the 21st character $section = file_get_contents('./people.txt', FALSE, NULL, 20, 14); var_dump($section); ?>

Из приведенного выше примера будет выведено нечто подобное:

Пример # 4 Использование контекстов потока

 // Create a stream $opts = array( 'http'=>array( 'method'=>"GET", 'header'=>"Accept-language: en\r\n" . "Cookie: foo=bar\r\n" ) ); $context = stream_context_create($opts); // Open the file using the HTTP headers set above $file = file_get_contents('http://www.example.com/', false, $context); ?>

Notes

Примечание . Эта функция безопасна для двоичного кода.

URL-адрес может использоваться в качестве имени файла с этой функцией, если включены оболочки fopen . См. Fopen () для получения более подробной информации о том, как указать имя файла. См. В разделе « Поддерживаемые протоколы и оболочки» ссылки на информацию о возможностях различных оболочек, примечания по их использованию и информацию о любых предопределенных переменных, которые они могут предоставить.

При использовании SSL Microsoft IIS нарушит протокол, закрыв соединение без отправки индикатора close_notify . PHP сообщит об этом как «SSL: Fatal Protocol Error», когда вы дойдете до конца данных. Чтобы обойти это, значение error_reporting следует снизить до уровня, который не включает предупреждения. PHP может обнаруживать ошибки в программном обеспечении сервера IIS, когда вы открываете поток с помощью оболочки https:// , и подавляет предупреждение. При использовании fsockopen () для создания сокета ssl:// разработчик несет ответственность за обнаружение и подавление этого предупреждения.

See Also

  • file () — считывает весь файл в массив
  • fgets () — Получает строку из указателя файла
  • fread () — Бинарно-безопасное чтение файла
  • readfile () — выводит файл
  • file_put_contents () — Записать данные в файл
  • stream_get_contents () — считывает остаток потока в строку
  • stream_context_create () — Создает контекст потока
  • $http_response_header

Источник

file_get_contents

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

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

Замечание:

Если вы открываете URI содержащий спецсимволы, такие как пробел, вам нужно закодировать URI при помощи urlencode() .

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

Замечание:

Начиная с версии PHP 5 можно использовать константу FILE_USE_INCLUDE_PATH для поиска файла в include path.

Корректный ресурс контекста, созданный с помощью функции stream_context_create() . Если в использовании особого контекста нет необходимости, можно пропустить этот параметр передав в него значение NULL .

Смещение, с которого начнется чтение оригинального потока.

Поиск смещения ( offset ) не поддерживается при работе с удаленными файлами. Попытка поиска смещения на нелокальных файлах может работать при небольших смещениях, но этот результат является непредсказуемым, так как он работает на буферизованном потоке.

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

Возвращаемые значения

Функция возвращает прочтенные данные или FALSE в случае возникновения ошибки.

Эта функция может возвращать как boolean FALSE , так и не-boolean значение, которое приводится к FALSE . За более подробной информацией обратитесь к разделу Булев тип. Используйте оператор === для проверки значения, возвращаемого этой функцией.

Ошибки

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

Примеры

Пример #1 Получить и вывести исходный код домашней страницы вебсайта

Пример #2 Поиск файлов в include_path

// $file = file_get_contents ( ‘./people.txt’ , true );
// > PHP 5
$file = file_get_contents ( ‘./people.txt’ , FILE_USE_INCLUDE_PATH );
?>

Пример #3 Чтение секции файла

// Читаем 14 символов, начиная с 21 символа
$section = file_get_contents ( ‘./people.txt’ , NULL , NULL , 20 , 14 );
var_dump ( $section );
?>

Результатом выполнения данного примера будет что-то подобное:

Пример #4 Использование потоковых контекстов

// Создаем поток
$opts = array(
‘http’ =>array(
‘method’ => «GET» ,
‘header’ => «Accept-language: en\r\n» .
«Cookie: foo=bar\r\n»
)
);

$context = stream_context_create ( $opts );

// Открываем файл с помощью установленных выше HTTP-заголовков
$file = file_get_contents ( ‘http://www.example.com/’ , false , $context );
?>

Список изменений

Версия Описание
5.1.0 Добавлены аргументы offset и maxlen .

Примечания

Замечание: Эта функция безопасна для обработки данных в двоичной форме.

Для этой функции вы можете использовать URL в качестве имени файла, если была включена опция fopen wrappers. Смотрите более подробную информацию об определении имени файла в описании функции fopen() . Смотрите также список поддерживаемых оберток URL, их возможности, замечания по использованию и список предопределенных констант в Поддерживаемые протоколы и обработчики (wrappers).

При использовании SSL, Microsoft IIS нарушает протокол, закрывая соединение без отправки индикатора close_notify. PHP сообщит об этом как «SSL: Fatal Protocol Error» в тот момент, когда вы достигнете конца данных. Чтобы обойти это, вы должны установить error_reporting на уровень, исключающий E_WARNING. PHP версий 4.3.7 и старше умеет определять, что на стороне сервера находится проблемный IIS при открытии потока с помощью обертки https:// и не выводит предупреждение. Если вы используете fsockopen() для создания ssl:// сокета, вы сами отвечаете за определение и подавление этого предупреждения.

Смотрите также

  • file() — Читает содержимое файла и помещает его в массив
  • fgets() — Читает строку из файла
  • fread() — Бинарно-безопасное чтение файла
  • readfile() — Выводит файл
  • file_put_contents() — Пишет строку в файл
  • stream_get_contents() — Читает оставшуюся часть потока в строку
  • stream_context_create() — Создаёт контекст потока
  • $http_response_header

Источник

PHP file_get_contents

Summary: in this tutorial, you will learn how to use the PHP file_get_contents() function to read the entire file into a string.

Introduction to the PHP file_get_contents() function

The file_get_contents() function reads the entire file into a string. Here’s the syntax of the file_get_contents() function:

file_get_contents ( string $filename , bool $use_include_path = false , resource $context = ? , int $offset = 0 , int $maxlen = ? ) : string|falseCode language: PHP (php)

The file_get_contents( ) function has the following parameters:

  • $filename is the name of the file to read.
  • $use_include_path if you set it to true, the function will also search for the file in the include path.
  • $context specifies a valid context resource or null if don’t use a custom context.
  • $offset is the offset where the function starts reading on the original stream. If it is negative, the offset counts from the end of the stream.
  • $maxlen specifies the maximum length of data to read. By default, the function reads data till the end of the file.

The file_get_contents() returns the file contents on success or false on failure.

PHP file_get_contents() function examples

Let’s take some examples of using the file_get_contents() function.

1) Using the file_get_contents() function to download a webpage example

The following example shows how to use the file_get_contents() function to download an entire webpage into a string:

 $html = file_get_contents('https://www.php.net/'); echo $html;Code language: HTML, XML (xml)

2) Using the file_get_contents() function to read an entire file into a string example

The following example uses the file_get_contents() to read the data from the readme.txt into a string:

 $filename = 'readme1.txt'; if (!is_readable($filename)) < die('File does not exist or is not readable'); > echo file_get_contents($filename);Code language: HTML, XML (xml)
  • First, throw an exception if the file exists or readable using the is_readable() function.
  • Second, read the entire file into a string and show its contents.

3) Using the file_get_contents() function to read a part of a file into a string

The following example uses the file_get_contents() function to read 20 characters starting from the 5th character in the readme.txt file:

 $filename = 'readme.txt'; if (!is_readable($filename)) < die('File does not exist or is not readable'); > echo file_get_contents($filename, null, null, 10, 20);Code language: HTML, XML (xml)

In PHP 8, you can use the name arguments when calling the file_get_contents() function as follows:

$content = file_get_contents( $filename = $filename, $offset = 5, $maxlen = 20 );Code language: PHP (php)

Summary

Источник

Читайте также:  Jfc java foundation class
Оцените статью