PHP 文件系统 file() 函数



PHP 文件系统file() 函数用于将整个文件读取到一个数组中,数组中的每个元素对应文件中的每一行,包括换行符。

此函数读取文件的全部内容,然后将每一行放入数组元素中。这是一种逐行读取文件或将全部内容作为数组获取的有用方法。

语法

以下是 PHP 文件系统file() 函数的语法:

array file ( string $filename 
   [, int $flags = 0 
      [, resource $context ]] )

参数

以下是file() 函数的必需和可选参数:

序号 参数及描述
1

filename(必需)

显示要读取的文件的路径。

2

flags(可选)

指定可选标志。它是一个整数,可以修改函数的行为。默认值为 0。

3

context(可选)

指定创建的有效上下文资源。

返回值

如果文件成功读取,则file() 函数返回一个数组,其中包含文件每一行作为元素。如果发生错误,则返回 FALSE。

PHP 版本

file() 函数最初作为 PHP 4 核心的一部分引入,并且与 PHP 5、PHP 7、PHP 8 兼容。

示例

因此,我们将使用 PHP 文件系统file() 函数打印函数中指定的文件的内容。以下是此示例的简单演示:

<?php
   print_r(file("/PhpProject/sample.txt"));
?> 

输出

这将产生以下结果:

Array
(
    [0] => Tutorialspoint

    [1] => Tutorix

    [2] => TP
)

示例

此程序展示了file() 函数的使用,以及如何从文件内容中删除换行符。FILE_IGNORE_NEW_LINES 标志用于忽略每一行的换行符,确保它们不包含在数组元素中。

<?php
    $fileLines = file('/Applications/XAMPP/xamppfiles/htdocs/mac/sample.txt', FILE_IGNORE_NEW_LINES);
    foreach ($fileLines as $line) {
        echo $line . "<br>";
    }
?> 

输出

这将生成以下结果:

Hello World

Tutorialspoint

Information Security

Web Browser

示例

此 PHP 示例代码将向您展示如何使用file() 函数读取远程文件,即文件位于 Web 服务器上。

<?php
    // Read a remote file
    $fileLines = file('https://127.0.0.1/mac/sample.txt');
    foreach ($fileLines as $line) {
        echo $line . "<br>";
    }
?> 

输出

这将创建以下结果:

Hello World

Tutorialspoint

示例

此 PHP 代码展示了如何读取远程文件的内容,以及如何在 PHP 的file() 函数的帮助下指定自定义 HTTP 标头。我们还使用stream_context_create() 设置了流上下文,这使我们能够指定 HTTP 标头

<?php
    // Read a file with context options
    $context = stream_context_create([
        'http' => [
            'header' => 'User-Agent: PHP',
        ],
    ]);
    $fileLines = file('https://127.0.0.1/mac/sample.txt', 0, $context);
    foreach ($fileLines as $line) {
        echo $line . "<br>";
    }
?> 

输出

这将导致以下结果:

Hello World

Tutorialspoint

Information Security

Web Browser

注意

file() 函数将整个文件读取到内存中,这可能会导致内存泄漏,因此在使用它时要小心文件大小,尤其是在处理大型文件时。

总结

file() 方法改进了并简化了 PHP 的文件读取功能,但用户在处理大型文件时应注意潜在的内存问题。

php_function_reference.htm
广告