Функции за работа с файловата система
PHP Manual

file

(PHP 4, PHP 5)

fileИзчита целия файл в масив

Описание

array file ( string $filename [, int $flags [, resource $context ]] )

Изчита целия файл в масив.

Забележка: Можете да използвате file_get_contents(), за да получите съдържанито на файл в низ.

Параметри

filename

Път до файла.

Съвет

Даден URL може да бъде използван като име на файл с тази функция ако fopen wrappers е включено. Виж fopen() за повече подробности относно начина, по който се задава име на файл и List of Supported Protocols/Wrappers за списък с поддържаните URL протоколи.

flags

Незадължителният параметър flags може да бъде комбинация от следните константи:

FILE_USE_INCLUDE_PATH
Търси файла и в include_path.
FILE_IGNORE_NEW_LINES
Не добавяй нови редове накрая на всеки елемент от масива.
FILE_SKIP_EMPTY_LINES
Пропускай празните редове.
FILE_TEXT
Съдържанието се получава в знаков набор UTF-8. Можете да го получите в различно кодиране чрез използването на различен контекст. Този флаг не може да бъде използван с FILE_BINARY. Този флаг е наличен от PHP 6 и по-високи версии.
FILE_BINARY
При указване на този флаг, файлът се изчита в двоичен режим. Това е подразбиращата се стойност и не може да се използва с FILE_TEXT. Този флаг е наличен от PHP 6 и по-високи версии.

context

Ресурс от тип контекст, създаден с функцията stream_context_create()/

Забележка: Контекстната поддръжка беше добавена в PHP 5.0.0. За повече подробности относно contexts, се обърнете към Stream Функции.

Връщани стойности

Връща файла в масив. Всеки елемент на масива отговаря на един ред от файла (с включени символите за нов ред). При грешка file() връща FALSE.

Забележка: Всеки ред на получения масив ще включва знаците за нов ред освен ако не е използван флаг FILE_IGNORE_NEW_LINES. Ако не използвате този флаг ще трябва да използвате функцията rtrim() за всеки ред от масива, за да премахнете знаците за край на ред.

Забележка: В случай че PHP не разпознава правилно краищата на редовете при четене или писане на файлове в Macintosh (или файлове създадени на Macintosh), включването на конфигурационната директива по време на изпълнение auto_detect_line_endings може да помогне за разрешаване на проблема.

Дневник на промените

Версия Описание
6.0.0 Добавена е поддръжка за флаговете FILE_TEXT и FILE_BINARY.
5.0.0 Добавен е параметър context .
5.0.0 Преди PHP 5.0.0 параметърът flags се отнасяше единствено за include_path и се включваше с подаване на 1.
4.3.0 Функцията file() е вече двоично безопасна.

Примери

Example #1 Пример за file()

<?php
// Изчитане на файл в масив. В този пример ще използваме HTTP опаковка, за да
// изчетем HTML сорс от URL.
$lines file('http://www.example.com/');

// Извъртане на масива с показване на HTML кода с добавени номера на редове
foreach ($lines as $line_num => $line) {
    echo 
"Ред #<b>{$line_num}</b> : " htmlspecialchars($line) . "<br />\n";
}

// Друг пример, нека изчетем уеб страница с низ. Вижте също file_get_contents().
$html implode(''file('http://www.example.com/'));

// Използване на опционалните флаг параметри, налични от 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 така, че да не генерира предупреждения. PHP 4.3.7 и по-късните версии могат да разкриват неправилно работещ IIS сървър, когато отворите потока чрез опаковката https://, и ще подтиснат предупреждението. При използване на fsockopen() за създаване на ssl:// сокет, разработчикът е отговорен за това да открие и подтисне предупреждението.

Вж. също


Функции за работа с файловата система
PHP Manual