PHP.mk документација

SplFileObject::fgets

Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.

splfileobject.fgets.php PHP.net прокси Преводот се освежува
Оригинал на PHP.net
Патека splfileobject.fgets.php Локална патека за оваа страница.
Извор php.net/manual/en Оригиналниот HTML се реупотребува и локално се стилизира.
Режим Прокси + превод во позадина Кодовите, табелите и белешките остануваат читливи во истиот тек.
SplFileObject::fgets

Референца за `splfileobject.fgets.php` со подобрена типографија и навигација.

splfileobject.fgets.php

SplFileObject::fgets

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

SplFileObject::fgetsЗема ред од датотека

= NULL

public SplFileObject::fgets(): string

Зема ред од датотеката.

Параметри

Оваа функција нема параметри.

Вратени вредности

Враќа стринг што го содржи следниот ред од датотеката.

Errors/Exceptions

Фрла RuntimeException ако датотеката не може да се прочита.

Примери

Пример #1 Променето од алијас на example

Овој пример едноставно ги прикажува содржините на file.txt line-by-line.

<?php
$file
= new SplFileObject("file.txt");
while (!
$file->eof()) {
echo
$file->fgets();
}
?>

Види Исто така

Белешки од корисници 3 белешки

Лукас Бустаманте
пред 4 години
Notice that the behavior of fgets after a seek changed on PHP 8.0.10, if you seek to line 50 and run fgets, it will give you line 50, while on PHP 5.1~8.0.0 it would give you line 51:

<?php

$file = new SplTempFileObject();

for ($i = 0; $i < 100; $i++) {
    $file->fwrite("Foo $i\n");
}

$file->seek(50);

echo json_encode(array(
    array('line' => $file->key(), 'contents' => trim($file->fgets())),
    array('line' => $file->key(), 'contents' => trim($file->fgets())),
    array('line' => $file->key(), 'contents' => trim($file->fgets())),
), JSON_PRETTY_PRINT);

?>

Results:

PHP  8.0.1+
[
    {
        "line": 50,
        "contents": "Foo 50"
    },
    {
        "line": 50,
        "contents": "Foo 51"
    },
    {
        "line": 51,
        "contents": "Foo 52"
    }
]

PHP 5.1 to 8.0.0
[
    {
        "line": 50,
        "contents": "Foo 51"
    },
    {
        "line": 51,
        "contents": "Foo 52"
    },
    {
        "line": 52,
        "contents": "Foo 53"
    }
]
Крис Џонсон
пред 8 години
Note that this method will cause a PHP fatal error if the file being read contains no recognizable line termination characters and is larger than the allowable memory size for PHP to allocate, i.e. memory_limit set in php.ini or similar.  In other words, PHP keeps reading until it finds a line termination, if it runs out of memory first, it will throw a fatal error.

This is different from the file resource fread() function, which allows an optional maximum length argument to be passed to limit this behavior.
Лукас Бустаманте
пред 4 години
I forgot to mention in my previous note about PHP PHP 8.0.10, that you can use $file->current(); $file->next(); as a replacement for $file->fgets(); that works consistently from PHP 5.1 to 8.0.1+ after a seek():

<?php

$file = new SplTempFileObject();

for ($i = 0; $i < 100; $i++) {
    $file->fwrite("Foo $i\n");
}

$file->seek(50);

print_r(array(
    array('line' => $file->key(), 'contents' => trim($file->current()), 'triggerNext' => $file->next()),
    array('line' => $file->key(), 'contents' => trim($file->current()), 'triggerNext' => $file->next()),
    array('line' => $file->key(), 'contents' => trim($file->current()), 'triggerNext' => $file->next()),
));

?>

PHP 5.1 to 8.0.1+:

[
    {
        "line": 50,
        "contents": "Foo 50"
    },
    {
        "line": 51,
        "contents": "Foo 51"
    },
    {
        "line": 52,
        "contents": "Foo 52"
    }
]
На оваа страница

Автоматски outline од активната документација.

Насловите ќе се појават тука по вчитување.

Попрегледно читање

Примерите, changelog табелите и user notes се визуелно издвоени за да не се губат во долгата содржина.

Брз совет Користи го outline-от Скокни директно на главните секции од активната страница.
Извор Оригиналниот линк останува достапен Кога ти треба целосен upstream context, отвори го PHP.net во нов tab.