如何使用PHP读取本地文件,在使用 PHP 应用程序时,我们经常需要打开本地文件并从中读取数据或向其中写入数据。在本文中,我们将简要回顾可用于执行此操作的工具。

PHP 为我们提供了三个用于操作本地文件的本机函数:file()file_get_contents()fopen()。围绕这些函数编写了整个库,但当我们需要使用 PHP 快速操作文件时,它们仍然是首选。

我们将首先查看这些函数的作用,然后查看它们如何工作的示例。

file() 和 file_get_contents()

file()file_get_contents()以大致相同的方式工作。他们都阅读了整个文件。但是,file()将文件读入数组,同时file_get_contents()将文件读入字符串。这两个函数都是二进制安全的,这意味着它们可以用于任何类型的内容。

使用 时要格外小心file(),因为它返回的数组将由换行符分隔,但每个元素仍将附加终止换行符。

打开()

fopen()功能以完全不同的方式工作。它将打开一个文件描述符,该文件描述符用作读取或写入文件的流。

PHP 手册是这样解释的:

在其最简单的形式中,是展示可流式行为的资源对象。也就是说,它可以以线性方式读取或写入,并且可以fseek()到达流中的任意位置。

简单地说,调用fopen()只会打开一个流。

一旦我们打开了流并获得了文件的句柄,就可以使用 和 等其他函数来操作文件fread()fwrite()完成后,我们可以使用关闭流fclose()

例子

看看下面的例子:

<?php
    $filepath = "/usr/local/sitepoint.txt";
    $handle = fopen($filename, "r");
    $contents = fread($handle, filesize($filename));
    fclose($handle);

上面的函数可以让您更好地控制文件,但它们的级别比file()file_get_contents()函数要低得多,后者更适合使用,PHP 文档中所述:

file_get_contents()是将文件内容读入字符串的首选方式。如果您的操作系统支持,它将使用内存交换技术来提高性能。

file_get_contents()使用起来相当简单:

<?php
    $file_contents = file_get_contents('./file.txt');

这会将 的内容读file.txt$file_contents.

相反,如果我们只需要文件的特定部分,我们可以这样做:

<?php
    $file_contents = file_get_contents('./file.txt', FALSE, NULL, 20, 14);

这将读取 14 个字符,从 的第 20 个字符开始file.txt。有关所有参数的更多信息,请file_get_contents()参见官方文档

 

使用PHP读取本地文件 推荐

Flutter和React Native比较

优惠券