Php class file get contents php

PHP file_get_contents() Function

This function is the preferred way to read the contents of a file into a string. It will use memory mapping techniques, if this is supported by the server, to enhance performance.

Syntax

Parameter Values

Parameter Description
path Required. Specifies the path to the file to read
include_path Optional. Set this parameter to ‘1’ if you want to search for the file in the include_path (in php.ini) as well
context Optional. Specifies the context of the file handle. Context is a set of options that can modify the behavior of a stream. Can be skipped by using NULL.
start Optional. Specifies where in the file to start reading. Negative values count from the end of the file
max_length Optional. Specifies the maximum length of data read. Default is read to EOF

Technical Details

Return Value: The entire file in a string, FALSE on failure
PHP Version: 4.3+
Binary Safe: Yes, in PHP 4.3
PHP Changelog: PHP 7.1 — Support for negative values in start parameter
PHP 5.1 — Added the start and max_length parameters
Читайте также:  Aiogram python как установить

❮ PHP Filesystem Reference

Unlock Full Access 50% off

COLOR PICKER

colorpicker

Join our Bootcamp!

Report Error

If you want to report an error, or if you want to make a suggestion, do not hesitate to send us an e-mail:

Thank You For Helping Us!

Your message has been sent to W3Schools.

Top Tutorials
Top References
Top Examples
Get Certified

W3Schools is optimized for learning and training. Examples might be simplified to improve reading and learning. Tutorials, references, and examples are constantly reviewed to avoid errors, but we cannot warrant full correctness of all content. While using W3Schools, you agree to have read and accepted our terms of use, cookie and privacy policy.

Источник

PHP: знакомимся с функцией file_get_contents()

Функция 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 функции PHP file get contents используется для указания имени файла. Это обязательный параметр.

Параметр use_include_path используется для указания, может ли константа FILE_USE_INCLUDE_PATH ( из файла php.ini ) использоваться для запуска поиска include path . Это необязательный параметр.

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

Параметр offset используется для указания смещения, с которого в исходном потоке начинается считывание. Отрицательное значение offset позволяет начинать смещение с конца потока. Это необязательный параметр.

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

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

Источник

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

Источник

Заголовок

Здесь может быть любой код, который еще не исполнился, этого кода может быть несколько страниц!

И эта страница сделана специально, для иллюстрации работы функций, которые получают данные с другой страницы!

Рассмотрим три. file_get_contents, file, include

Пример получения и вывод данных file_get_contents -> путь на сервере

2). И вторым пунктом, будем получать из этого же файла, этой же функцией file_get_contents, но изменим абсолютный путь, на путь на сервере, также пропустим через htmlspecialchars, итого у нас получилось:

Пример и результат получения данных из файла по серверному пути

Заголовок

Здесь может быть любой код, который еще не исполнился, этого кода может быть несколько страниц!

И эта страница сделана специально, для иллюстрации работы функций, которые получают данные с другой страницы!

Рассмотрим три. file_get_contents, file, include

Вывод о получении данных file_get_contents по прямой ссылке и пути на сервере

Вам нужны выводы и результатах получения данных с помощью file_get_contents по ссылке и пути на сревре, тут как говорится все очевидно!

Как и было констатировано в втором пункте, что file_get_contents по ссылке из адресной строки возвращает исполненный код, а по серверному пути — исходный код файла.
1). Получение данных file_get_contents -> абсолютный путь
2). Получение данных file_get_contents -> путь на сервере

Как выводить данные полученные из файла с помощью file_get_content

Для вывода данных на странице можно использовать echo.

Для того, чтобы выводить данные полученные с другой страницы с помощью file_get_content, вам нужно:

Определить, что вам нужно от этой страницы, результат, который вы видите в браузере

Если вам нужен первый вариант, то сооружаем такую конструкцию :

Если вам нужен код страницы, то вам понадобится ся — путь на сервере до корневой папки, как вариант — $_SERVER[‘DOCUMENT_ROOT’]

Если вы собираетесь выводить данные выше перечисленными способами и если там есть код html, то при выводе он сработает!

Поэтому нужна функция htmlspecialchars
Что было применено в 5 и 6 пункте нашего повествования.

Транслировать с одной страницы на другую

Для того, чтобы транслировать данные с другой страницы, вам потребуется хранить данные без тегов! Это может быть txt файл!

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

Ну и теперь давайте получим эти данные в переменную, и потом выведем сами данные прямо здесь на странице!

И да! Если бы файл лежал в папке. Где располагается скрипт, то код был бы такой:

Но у нас ситуация немного другая поэтому нам нужен путь на сервере

10.10.2022 — 22:26//Вася Пупкин передает привет!

06.02.2022 — 09:51//расскажите анекдот

Источник

Оцените статью