• 日常搜索
  • 百度一下
  • Google
  • 在线工具
  • 搜转载

如何在PHP中创建、写入、读取和删除文件

在本教程中,我们将学习 php 中的文件处理。我将向您展示如何使用内置的文件处理函数在 PHP 中创建、读取、写入和删除文件。

文件处理是您作为 PHP 开发人员经常需要做的事情。

您可以使用 PHP 文件处理函数以不同方式操作文件。这些函数可用于在您的应用程序中构建功能,范围从自定义错误日志记录到存储缓存文件。您可以使用这些功能构建的实用工具示例如下:

  • 自定义日志记录和调试工具

  • 应用程序配置存储

  • 前端和应用程序缓存

  • 本地化支持

  • 还有很多

PHP 提供了几个文件处理函数,允许您执行各种操作,例如:

  • 创建并打开一个文件

  • 写入文件

  • 从文件中读取

  • 删除文件

  • 关闭文件

今天,我们将介绍每个文件操作,以及如何使用它们的示例。我鼓励您在学习过程中尝试本教程中的示例,这样您就可以真正学习和理解它们的工作原理。如果某些事情对您来说没有按预期工作,请随时使用本教程末尾的提要发布您的查询。

如何创建和打开文件

在本节中,我们将了解如何创建和打开文件。

在创建文件时,它是fopen您大部分时间最终会使用的功能。fopen使用该函数创建文件可能看起来有点混乱。事实上,该fopen函数做了两件事:如果文件不存在,它会创建一个文件,并打开它以进行读取或写入。

让我们通过以下示例来了解它是如何工作的。

<?
php$file_handle = fopen('/home/tutsplus/files/tmp.txt', 'w');
?>

在上面的例子中,该fopen函数会检查/home/tutsplus/files/tmp.txt文件是否存在,如果存在则打开它进行写入。通过提供'w'第二个参数,我们指定我们将写入文件。如果该文件不存在,它将立即创建。需要注意的是,上面示例中的/home/tutsplus/files/目录必须是 Web 服务器用户可写的,该fopen函数才能创建文件。

该fopen函数的第一个参数是您要打开的文件名。在上面的示例中,我们在第一个参数中提供了/home/tutsplus/files/tmp.txt文件名。同样,重要的是要注意我们提供了一个绝对路径名。

第二个参数是mode,它指定您需要对打开的文件进行访问的类型。该fopen功能提供了不同的模式供您选择。例如:

  • 使用r模式打开文件进行读取

  • 读写r+模式

  • a读取和追加模式

在我们的示例中,我们使用了该w模式,该模式打开/home/tutsplus/files/tmp.txt文件以仅用于写入。随意浏览官方文档以查看该fopen功能支持的不同模式。

fopen返回一个文件系统指针,该指针用于其他文件功能,如读取和写入。

如何打开远程文件?

该fopen功能不仅适用于本地文件。它还支持其他协议,并且可以从您的网络或网络上的其他地方打开文件。如果您allow_url_fopen在 PHP 中启用了该指令,您也可以打开远程文件。

<?
php$file_handle = fopen(' https ://your-website-url/tmp.txt', 'r');
?>

值得注意的是,当您启用该allow_url_fopen指令时,您会产生一些安全风险,因为它为远程文件执行和其他攻击打开了大门。因此,如果要启用此指令,请确保在应用程序中采取额外的安全措施。

如何使用 PHP 写入文件

有几种不同的方法可以使用 PHP 写入文件。

fwrite功能_

首先是fwrite函数,它允许您将字符串内容写入文件句柄引用的文件流。让我们通过以下示例来了解它是如何工作的。

<?php
$file_handle = fopen('/home/tutsplus/files/tmp.txt', 'a+');
fwrite($file_handle, 'Tuts+ is a great online resource to learn skills you want!');
fwrite($file_handle, "\n");
fwrite($file_handle, 'Visit tutsplus。com to know more!');
fclose($file_handle);
?>

首先,我们以模式打开/home/tutsplus/files/tmp.txt文件,该a+模式以读写方式打开文件,文件指针位于文件末尾。因此,我们的内容将被附加到文件的末尾,在任何其他内容之后。接下来,我们使用该fwrite函数编写了一个字符串。 

该fwrite函数的第一个参数是返回的文件系统指针fopen——这是如何fwrite 知道写入哪里的。第二个参数是我们要写入文件的字符串。正如您在上面的示例中所看到的,您可以fwrite在关闭文件之前多次使用该函数来写入一系列字符串。

最后,我们使用该fclose函数关闭文件。它只需要一个参数,即您要关闭的文件指针。fclose完成文件操作后,使用该功能关闭文件始终是一个好习惯。

file_put_contents函数:用于写入文件的 PHP 快捷方式

在上一节中,我们讨论了fwrite用于写入文件的函数。你会注意到,如果你想写入一个文件,你首先需要用fopen函数打开它。之后,您需要使用该fwrite函数将您的数据写入文件,最后您需要使用该fclose函数关闭文件。

如果这对你来说听起来太过分了,那么有一个捷径:file_put_contents. 该file_put_contents函数允许您在一次调用中将数据写入文件。

让我们看看它是如何工作的。

<?php
file_put_contents('/home/tutsplus/files/tmp.txt', 
"Tuts+ is a great online resource to learn skills you want! \n Visit tutsplus。com to know more!");
?>

该file_put_contents函数的第一个参数是文件名,第二个参数是要写入文件的字符串。如果文件不存在,它将被创建。

如您所见,file_put_contents当您只想将一条数据写入文件时,该功能是一种快捷方式。

如何在 PHP 中读取文件

现在您知道如何创建和写入文件了。在本节中,我将向您展示如何从文件中读取。

fread功能_

该fread功能允许您从文件中读取。它类似于fwrite,但您需要提供要读取的字节长度。

让我们看一下以下示例以了解其工作原理。

<?php
$file_handle = fopen('/home/tutsplus/files/tmp.txt', 'r');
$contents = fread($file_handle, filesize('/home/tutsplus/files/tmp.txt'));
fclose($file_handle);
?>

由于我们想从/home/tutsplus/files/tmp.txt文件中读取,我们已经使用r模式打开它。接下来,我们使用该fread函数将文件的所有内容读入$content变量。

该fread函数的第一个参数是文件系统指针,因此它知道从哪里读取。第二个参数是要从文件中读取的字节长度。在我们的例子中,我们想要读取/home/tutsplus/files/tmp.txt文件的所有内容,因此我们使用该filesize函数来测量文件的大小。

file_get_contents函数:用于读取文件的 PHP 快捷方式

在上一节中,我们讨论了该fread函数,它允许您通过指定要读取的字节长度来读取文件。如果你想一次读取整个文件,有一个函数可以让你做到这一点:  file_get_contents.

让我们看看实际的file_get_contents功能!

<?
php$contents = file_get_contents('/home/tutsplus/files/tmp.txt');
?>

如您所见,使用该file_get_contents函数非常简单——只需在第一个参数中提供文件名即可。

如何在 PHP 中删除文件

在最后一部分中,我们将了解如何删除文件。要在 PHP 中删除文件,请使用该unlink函数。让我们通过一个例子来看看它是如何工作的。

<?php
If (unlink('/home/tutsplus/files/tmp.txt')) {
  // file was successfully deleted
} else {
  // there was a problem deleting the file
}
?>

该unlink函数的第一个参数是您要删除的文件名。该unlink函数返回TRUE或FALSE,具体取决于删除操作是否成功。

结论

在这篇文章中,我们讨论了 PHP 中文件处理的基础知识。在整篇文章中,我们讨论了您可以在 PHP 中使用文件函数执行的不同操作。如果您有任何疑问或建议,请随时使用下面的提要发布!

如何在PHP中创建、写入、读取和删除文件  第1张

文章目录
  • 如何创建和打开文件
    • 如何打开远程文件?
  • 如何使用 PHP 写入文件
    • fwrite功能_
    • file_put_contents函数:用于写入文件的 PHP 快捷方式
  • 如何在 PHP 中读取文件
    • fread功能_
    • file_get_contents函数:用于读取文件的 PHP 快捷方式
  • 如何在 PHP 中删除文件
  • 结论