Oihana PHP

getFileLinesGenerator.php

Table of Contents

Functions

getFileLinesGenerator()  : Generator
Reads a file line by line and yields each line as a generator.

Functions

getFileLinesGenerator()

Reads a file line by line and yields each line as a generator.

getFileLinesGenerator(string|null $file[, callable|null $map = null ]) : Generator

Each line can optionally be transformed using a callback function. This is particularly useful for processing large files efficiently without loading the entire file into memory at once.

Example usage:

use function oihana\files\getFileLinesGenerator;

// Simply iterate over each line
foreach (getFileLinesGenerator('/path/to/file.log') as $line)
{
    echo $line, PHP_EOL;
}

// Using a mapping function to parse CSV lines
foreach (getFileLinesGenerator('/path/to/data.csv', fn($line) => str_getcsv($line)) as $csvRow)
{
    print_r($csvRow);
}
Parameters
$file : string|null

Full path to the file to read.

$map : callable|null = null

Optional mapping function applied to each line. Signature: fn(string $line): mixed

Tags
throws
FileException

If the file does not exist, is not readable, or cannot be opened.

author

Marc Alcaraz (ekameleon)

since
1.0.0
Return values
Generator

Yields each line of the file, optionally transformed by the mapping function.


        
On this page

Search results