PHP 手册
后退 |  | 前进

# file

(PHP 3, PHP 4, PHP 5)

file -- 把整个文件读入一个数组中

## 说明

array file ( string filename [, int use_include_path [, resource context]] )

和 readfile() 一样，只除了 file() 将文件作为一个数组返回。数组中的每个单元都是文件中相应的一行，包括换行符在内。如果失败 file() 返回 `FALSE`。

如果也想在 include_path 中搜寻文件的话，可以将可选参数 use_include_path 设为 "1"。

`<?php // 将一个文件读入数组。本例中通过 HTTP 从 URL 中取得 HTML 源文件。 $lines = file('http://www.example.com/'); // 在数组中循环，显示 HTML 的源文件并加上行号。 foreach ($lines as $line_num => $line) { echo "Line #<b>{$line_num}</b> : " . htmlspecialchars($line) . "<br />\n"; } // 另一个例子将 web 页面读入字符串。参见 file_get_contents()。 $html = implode('', file ('http://www.example.com/')); ?>`

> 提示: 如果“fopen wrappers”已经被激活，则在本函数中可以把 URL 作为文件名来使用。请参阅 fopen() 函数来获取怎样指定文件名的详细信息以及支持 URL 封装协议的列表：附录 L。

> 注: 返回的数组中每一行都包括了行结束符，因此如果不需要行结束符时还需要使用 rtrim() 函数。

> 注: 如果碰到 PHP 在读取文件时不能识别 Macintosh 文件的行结束符，可以激活 auto_detect_line_endings 运行时配置选项。

> 注: 从 PHP 4.3.0 开始可以用 file_get_contents() 来将文件读入到一个字符串返回。

> 从 PHP 4.3.0 开始 file() 可以安全用于二进制文件。

> 注: 对 context 的支持是 PHP 5.0.0 添加的。有关 context 的说明请参考参考 CXLI, Stream Functions。

警告
当使用 SSL 时，Microsoft IIS 将违反协议不发送 close_notify 标记就关闭连接。PHP 将在到达数据尾端时报告 "SSL: Fatal Protocol Error"。要绕过此问题，应将 error_reporting 级别降低为不包括警告。PHP 4.3.7 及更高版本可以在当使用 https:// 封装协议打开流的时候检测出有此问题的 IIS 服务器并抑制警告。如果使用 fsockopen() 来创建一个 ssl:// 套接字，则需要自己检测并抑制警告信息。

参见 readfile()，fopen()，fsockopen()，popen()，file_get_contents() 和 include()。

后退 | 起点 | 前进
file_put_contents | 上一级 | fileatime