SplFileObject::__construct

Construct a new file object

&reftitle.description; public `SplFileObject::__construct` `string` `filename` `string` `mode`"r" `bool` `useIncludePath`&false; ``resource``null```context`&null;

Construct a new file object.

&reftitle.parameters;

`filename`

- The file to read.

  &tip.fopen-wrapper;

`mode`

- The mode in which to open the file. See `fopen` for a list of allowed modes.

`useIncludePath`

- Whether to search in the include_path for `filename`.

`context`

- A valid context resource created with `stream_context_create`.

&reftitle.errors;

Throws a `RuntimeException` if the `filename` cannot be opened.

Throws a `LogicException` if the `filename` is a directory.

&reftitle.examples;

### `SplFileObject::__construct` example

This example opens the current file and iterates over its contents line by line.

    <?php
    $file = new SplFileObject(__FILE__);
    foreach ($file as $line_num => $line) {
        echo "Line $line_num is $line";
    }
    ?>

&example.outputs.similar;

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

&reftitle.seealso;

- `SplFileInfo::openFile`
- `fopen`