file

(PHP 3, PHP 4 )

file -- Reads entire file into an array

Description

array file ( string filename [, int use_include_path])

Identical to readfile(), except that file() returns the file in an array. Each element of the array corresponds to a line in the file, with the newline still attached. Upon failure, file() returns FALSE.

Note: Each line in the resulting array will include the line ending, so you still need to use trim() if you do not want the line ending present.

Note: If you are having problems with PHP not recognizing the line endings when reading files either on or created by a Macintosh computer, you might want to enable the auto_detect_line_endings run-time configuration option.

You can use the optional use_include_path parameter and set it to "1", if you want to search for the file in the include_path, too.

<?php
// Get a file into an array.  In this example we'll go through HTTP to get 
// the HTML source of a URL.
$lines = file ('http://www.example.com/');

// Loop through our array, show html source as html source; and line numbers too.
foreach ($lines as $line_num => $line) {
    echo "Line #<b>{$line_num}</b> : " . htmlspecialchars($line) . "<br>\n";
}

// Another example, let's get a web page into a string.  See also file_get_contents().
$html = implode ('', file ('http://www.example.com/'));
?>

Note: As of PHP 4.3.0 you can use file_get_contents() to return the contents of a file as a string.

In PHP 4.3.0 file() became binary safe.

Tip: You can use a URL as a filename with this function if the fopen wrappers have been enabled. See fopen() for more details on how to specify the filename and Appendix I for a list of supported URL protocols.

See also readfile(), fopen(), fsockopen(), and popen(), and file_get_contents(), and include().