file - Читает содержимое файла и помещает его в массив
Вернуться к: Файловая система
file
(PHP 4, PHP 5, PHP 7)
file — Читает содержимое файла и помещает его в массив
Описание
$filename
[, int $flags
= 0
[, resource $context
]] )Читает содержимое файла и помещает его в массив.
Замечание:
Можно также использовать функцию file_get_contents() для получения файла в виде строки.
Список параметров
-
filename
-
Путь к файлу.
ПодсказкаДля этой функции вы можете использовать URL в качестве имени файла, если была включена опция fopen wrappers. Смотрите более подробную информацию об определении имени файла в описании функции fopen(). Смотрите также список поддерживаемых оберток URL, их возможности, замечания по использованию и список предопределенных констант в Поддерживаемые протоколы и обработчики (wrappers).
-
flags
-
В качестве необязательного параметра
flags
может можно указать одну или более следующих констант:-
FILE_USE_INCLUDE_PATH
- Ищет файл в include_path.
-
FILE_IGNORE_NEW_LINES
- Не добавлять новую строку к концу каждого элемента массива
-
FILE_SKIP_EMPTY_LINES
- Пропускать пустые строки
-
-
context
-
Ресурс контекста, созданный функцией stream_context_create().
Замечание: Поддержка контекста была добавлена в PHP 5.0.0. Для описания контекстов смотрите раздел Потоки.
Возвращаемые значения
Возвращает файл в виде массива. Каждый элемент массива соответствует
строке файла, с символами новой строки включительно. В случае
ошибки file() возвращает FALSE
.
Замечание:
Каждая строка в полученном массиве будет завершаться символами конца строки (если вы не указали флаг
FILE_IGNORE_NEW_LINES
), поэтому, если вам будет нужно избавиться от этих символов, вы можете использовать функцию rtrim().
Замечание: Если у вас возникают проблемы с распознаванием PHP концов строк при чтении или создании файлов на Macintosh-совместимом компьютере, включение опции auto_detect_line_endings может помочь решить проблему.
Список изменений
Версия | Описание |
---|---|
4.3.0 | file() стала безопасной для обработки бинарных данных |
Примеры
Пример #1 Пример использования file()
<?php
// Получает содержимое файла в виде массива. В данном примере мы используем
// обращение по протоколу HTTP для получения HTML-кода с удаленного сервера.
$lines = file('http://www.example.com/');
// Осуществим проход массива и выведем содержимое в виде HTML-кода вместе с номерами строк.
foreach ($lines as $line_num => $line) {
echo "Строка #<b>{$line_num}</b> : " . htmlspecialchars($line) . "<br />\n";
}
// Второй пример. Получим содержание web-страницы в виде одной строки.
// См.также описание функции file_get_contents().
$html = implode('', file('http://www.example.com/'));
// Используем необязательный параметр flags (начиная с PHP 5)
$trimmed = file('somefile.txt', FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
?>
Примечания
При использовании SSL, Microsoft IIS нарушает протокол, закрывая соединение без отправки индикатора close_notify. PHP сообщит об этом как "SSL: Fatal Protocol Error" в тот момент, когда вы достигнете конца данных. Чтобы обойти это, вы должны установить error_reporting на уровень, исключающий E_WARNING. PHP версий 4.3.7 и старше умеет определять, что на стороне сервера находится проблемный IIS при открытии потока с помощью обертки https:// и не выводит предупреждение. Если вы используете fsockopen() для создания ssl:// сокета, вы сами отвечаете за определение и подавление этого предупреждения.
Смотрите также
- readfile() - Выводит файл
- fopen() - Открывает файл или URL
- fsockopen() - Открывает соединение с интернет сокетом или доменным сокетом Unix
- popen() - Открывает файловый указатель процесса
- file_get_contents() - Читает содержимое файла в строку
- include - include
- stream_context_create() - Создаёт контекст потока
Вернуться к: Файловая система