(PHP 4, PHP 5)
file — Изчита целия файл в масив
Изчита целия файл в масив.
Забележка: Можете да използвате file_get_contents(), за да получите съдържанито на файл в низ.
Път до файла.
Даден URL може да бъде използван като име на файл с тази функция ако fopen wrappers е включено. Виж fopen() за повече подробности относно начина, по който се задава име на файл и List of Supported Protocols/Wrappers за списък с поддържаните URL протоколи.
Незадължителният параметър flags може да бъде комбинация от следните константи:
Ресурс от тип контекст, създаден с функцията 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:// сокет, разработчикът е отговорен за това да открие и подтисне предупреждението.