No Image

Php прочитать файл в массив

СОДЕРЖАНИЕ
259 просмотров
10 марта 2020

(PHP 3, PHP 4, PHP 5)

file – Читает содержимое файла и помещает его в массив

Описание

Данная функция идентична функций readfile() с той разницей, что file() возвращает содержимое прочитанного файла в виде массива. Каждый элемент возвращенного массива содержит соответствующую строку с символами конца строки. В случае ошибки, функция file() возвращает FALSE .

Вы можете указать необязательный параметр use_include_path, равный "1", если хотите, чтобы поиск файла также производился в каталогах, указанных директивой include_path.

Пример 1. Использование file()
Пример 2. Получим содержание web-страницы в виде одной строки.

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

Замечание: Каждая строка в полученном массиве будет завершаться символами конца строки, поэтому, если вам будет нужно избавиться от этих символов, вы будете должны использовать функцию rtrim() .

Замечание: Если у вас возникают проблемы с распознаванием PHP окончания строк при чтении файлов на Macintosh-совместимом компьютере или при чтении файлов, созданных на Macintosh-совместимом компьютере, необходимо включить опцию auto_detect_line_endings.

Замечание: Начиная с PHP 4.3.0, вы можете использовать функцию file_get_contents() для получения содержимого файла в виде строки.

Начиная с PHP 4.3.0, функция file() корректно обрабатывает двоичные данные.

Замечание: Поддержка контекста была добавлена в PHP 5.0.0.

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

Читайте также:  1С сортировка таблицы на форме

(PHP 4, PHP 5, PHP 7)

file — Читает содержимое файла и помещает его в массив

Описание

Читает содержимое файла и помещает его в массив.

Можно также использовать функцию file_get_contents() для получения файла в виде строки.

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

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

В качестве необязательного параметра flags может можно указать одну или более следующих констант: FILE_USE_INCLUDE_PATH Ищет файл в include_path. FILE_IGNORE_NEW_LINES Не добавлять новую строку к концу каждого элемента массива FILE_SKIP_EMPTY_LINES Пропускать пустые строки

Ресурс контекста, созданный функцией 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()

// Получает содержимое файла в виде массива. В данном примере мы используем
// обращение по протоколу HTTP для получения HTML-кода с удаленного сервера.
$lines = file ( ‘http://www.example.com/’ );

Читайте также:  Cyanogenmod что это такое

// Осуществим проход массива и выведем содержимое в виде HTML-кода вместе с номерами строк.
foreach ( $lines as $line_num => $line ) <
echo "Строка # : " . htmlspecialchars ( $line ) . "
" ;
>

// Второй пример. Получим содержание 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() – Создаёт контекст потока

БлогNot. PHP: читаем числа из текстового файла в массив

PHP: читаем числа из текстового файла в массив

Решение небольшой сложности, возникшей у народа при форматном чтении данных из файла на PHP.

В PHP, в отличие от C++, каждый вызов fscanf читает одну строку из файла, таким образом, функция не работает аналогично одноимённой функции из C++ и не применима, например, к задаче чтения из файла произвольного количества числовых значений, расположенных в произвольных строках файла.

Читайте также:  Supply memory error hp m1212nf

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

Числа в файле data.txt , находящемся в текущей папке скрипта, могут располагаться произвольно, например, следующим образом:

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

Обратите внимание на синтаксис записи условия, определяющего, достигнут ли конец файла, а также на необходимость удаления из прочитанных элементов файла $item лишних разделителей функцией trim , в противном случае, например, могут быть не прочитаны числа, завершающие строку файла.

08.05.2015, 10:52; рейтинг: 8618

Комментировать
259 просмотров
Комментариев нет, будьте первым кто его оставит

Это интересно
Adblock
detector