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

发表日期:2021-07-01 08:55:42 | 来源: | | 浏览(781) 分类:文件系统函数

file

(PHP 4, PHP 5, PHP 7, PHP 8)

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

说明

file(string $filename, int $flags = 0, resource $context = ?): array

把整个文件读入一个数组中。

注意:

你可以通过  file_get_contents()  以字符串形式获取文件的内容。


参数


  • filename

  • 文件的路径。

    小技巧

    如已启用fopen 包装器,在此函数中, URL 可作为文件名。关于如何指定文件名详见 fopen()。各种 wapper 的不同功能请参见 支持的协议和封装协议,注意其用法及其可提供的预定义变量。

  • flags

  • 可选参数 flags 可以是以下一个或多个常量:


    • FILE_USE_INCLUDE_PATH

    •   在 include_path 中查找文件。          

    • FILE_IGNORE_NEW_LINES

    •   省略数组中每个元素末尾的换行符          

    • FILE_SKIP_EMPTY_LINES

    •   跳过空行          

  • context

  • 使用 stream_context_create() 函数创建的上下文资源(resource)。


    注意: 在 PHP 5.0.0 中增加了对上下文(Context)的支持。有关上下文(Context)的说明参见 Streams。



返回值

返回数组形式的文件内容。数组的每个元素对应于文件中的一行(结尾会附加换行符)。   失败时,file() 返回 false

注意:

除非使用了 FILE_IGNORE_NEW_LINES ,否则结果数组中的每一行都将包含行尾。


注意: 在读取在 Macintosh 电脑中或由其创建的文件时, 如果 PHP 不能正确的识别行结束符,启用运行时配置可选项 auto_detect_line_endings 也许可以解决此问题。

错误/异常

如果文件不存在,则发出 E_WARNING 级错误。

范例


示例 #1 file() 例子

<?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/'));
// 从 PHP 5 开始可以使用可选标记参数
$trimmed = file('somefile.txt', FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
?>


注释

警告

使用 SSL 时,Microsoft IIS 会违反协议不发送close_notify标记就关闭连接。PHP 会在到达数据尾端时报告“SSL: Fatal Protocol Error”。 要解决此问题,error_reporting 应设定为降低级别至不包含警告。 PHP 4.3.7 及更高版本可以在使用 https:// 包装器打开流时检测出有问题的 IIS 服务器软件 并抑制警告。在使用fsockopen() 创建 ssl:// 套接字时, 开发者需检测并抑制此警告。

参见


  • readfile() - 输出文件

  • fopen() - 打开文件或者 URL

  • fsockopen() - 打开一个网络连接或者一个Unix套接字连接

  • popen() - 打开进程文件指针

  • file_get_contents() - 将整个文件读入一个字符串

  • include - include

  • stream_context_create() - 创建资源流上下文


集速网 copyRight © 2015-2022 宁ICP备15000399号-1 宁公网安备 64010402001209号
与其临渊羡鱼,不如退而结网
欢迎转载、分享、引用、推荐、收藏。