PHP 8.6.0 Beta 1 is available for testing

SplFileObject::__construct

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

SplFileObject::__constructСоздаёт объект SplFileObject

Описание

public function SplFileObject::__construct(
string $filename,
string $mode = "r",
bool $useIncludePath = false ,
? resource $context = null
)

Создаёт новый файловый объект.

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

filename

Файл, который требуется прочитать.

Подсказка

Вместо названий файлов функция принимает URL-адреса, если включили директиву fopen wrappers. Подробнее об определении названия файла рассказывает описание функции fopen() . Раздел «Протоколы и обёртки» также даёт ссылки на информацию о поддерживаемых обёртках, содержит замечания по работе с обёртками и приводит список предопределённых переменных, которые они дают.

mode

Режим работы с файлом. Список возможных режимов работы приведён в описании функции fopen() .

useIncludePath

Требуется ли просматривать include_path во время поиска файла filename.

context

Допустимый ресурс контекста, созданный функцией stream_context_create() .

Ошибки

Выбрасывает исключение RuntimeException , если файл filename невозможно открыть.

Выбрасывает исключение LogicException , если filename является каталогом.

Примеры

Пример #1 Пример использования SplFileObject::__construct()

Этот пример открывает текущий файл и осуществляет перебор его строк.

<?php
$file = new SplFileObject(__FILE__);
foreach ($file as $line_num => $line) {
 echo "Строка $line_num: $line";
}
?>

Вывод приведённого примера будет похож на:

Строка 0: <?php
Строка 1: $file = new SplFileObject(__FILE__);
Строка 2: foreach ($file as $line_num => $line) {
Строка 3: echo "Line $line_num is $line";
Строка 4: }
Строка 5: ?>

Смотрите также

Нашли ошибку?

ИнструкцияИсправлениеСообщение об ошибке
+Добавить

Примечания пользователей 1 note

up
0
KEINOS at blog.keinos.com
9 years ago
When using URL as a filename, such as "http://..." or "php://stdin", and also have the fopen wappers on, and you get a 'RuntimeException' error, try using "NoRewindIterator" class to a SplFileObject instance.
<?php
$url = 'http://sample.com/data.csv';
$file = new NoRewindIterator( new SplFileObject( $url ) );
foreach ($file as $line_num => $line) {
 echo "Line $line_num is $line";
}
?>

While opening a file, a rewind method will be called, but these URL iterators cannot be rewind, so you'll get a "Fatal error: Uncaught exception 'RuntimeException' with message 'Cannot rewind file ...'" error.
+Добавить

AltStyle によって変換されたページ (->オリジナル) /