PHP写文件简介

PHP中有各种内置函数用于对文件执行各种操作。他们可能对文件进行创建、打开、读取、写入等操作。

PHP写入文件的功能

以下是 PHP 中默认可用的主要功能:

1. fopen()

首先,为了写入文件,我们必须知道如何创建该文件。这是在 open() 函数的帮助下完成的。该名称可能会让人误解为打开文件,但在 PHP 中,相同的函数用于创建和打开文件,就像 Linux 中的 vi 函数一样。该函数一执行就检查文件是否存在,然后只创建它。下面的示例演示了相同的内容:

代码:

<?php
// Creating a file for test
$myfile = fopen("test.txt", "w")
?>

输出:

2. fwrite()

创建文件后,我们必须将所需的内容写入其中,因此我们使用此功能。此函数仅在到达文件末尾(EOF)或我们根据先到的顺序指定的长度时才会停止。

句法:

fwrite(file, string, length)

  • 其中文件是描述我们应该写入的文件的必填字段
  • 字符串是另一个必需的参数,它告诉字符串写入打开的文件
  • length 是一个可选参数,它为我们提供了要写入的最大字节数

代码:

<?php
// Your code here!
$f = fopen("testfile.txt", "w");
$text = "Random data here\n";
fwrite($f, $text);
?>

输出:

这里 testfile.txt 是创建的文件,分配给 $text 的字符串值将被写入该文件。

3.file_put_contents()

这是另一个可用于将内容写入 PHP 文件的函数。在访问文件时,有一定数量的规则以相同的顺序被提及:

  • 检查文件是否存在后创建文件
  • 接下来,它打开文件
  • 如果设置了属性 LOCK_EX,那么它会锁定文件
  • 当属性 FILE_APPEND 被设置时,它会移动到文件的末尾,否则会清除文件的内容。
  • 现在它将所需的数据写入文件。
  • 如果存在任何锁,则关闭文件并释放
注意:应使用属性 FILE_APPEND 以防止数据在将数据附加到文件末尾时被完全擦除。

句法:

file_put_contents(filename, text, mode, context)

  • 其中文件名是强制性参数,它告诉我们必须写入的文件的完整路径,因此该函数检查并创建一个文件。
  • text 是另一个必填字段,它是我们必须写入文件的数据。它可以是简单字符串、字符串数组或数据流的形式。
  • mode 是可选字段,它为我们提供了对文件进行操作的各种方式。它的可能值是:
  • FILE_USE_INCLUDE_PATH:在包含目录路径中搜索指定的文件名。
  • FILE_APPEND:它将数据附加到文件而不是覆盖相同的文件。
  • LOCK_EX:这会在写入文件时显式锁定文件。
  • context 是提供文件上下文的可选参数。它基本上是一堆可以改变流行为的选项。

返回值:此函数在成功的情况下返回写入文件的字节总数,如果失败则返回值 FALSE。

下面是示例:

代码:

<?php
echo file_put_contents("filetest.txt","Testing for file write");
?>

输出:

这里我们创建的文件作为第一个参数给出,下一个参数是写入该文件的文本。

4.覆盖

我们可以覆盖上面已经写入数据的文件。文件中已经存在的任何数据都将被清除,它将作为一个全新的空文件开始。在下面的示例中,我们将打开一个现有文件并尝试在其上写入新数据。

下面是示例:

代码:

<?php
$f = fopen("testfile.txt", "w");
$text = "Random data here\n";
$filetext = "Over writing the data\n";
fwrite($f, $filetext);
$filetext = "File Dummy Data\n";
fwrite($f, $filetext);
fclose($f);
?>

输出:

这里我们覆盖了 testfile.txt 中的数据,因此 $filetext 字符串值中提到的任何内容都将写入文件中。并且当我们通过更改提供给 $filetext 的数据再次使用相同的写入命令时,旧数据将被清理并被提供的最新文本值占用。

在文件的末尾,我们总是应该使用我们使用 fwrite() 函数打开的 close() 函数来关闭它。如上例所示,我们还使用了 \n,它表示换行符,相当于按下键盘上的回车键。

现在让我们举个例子,看看如何在我们的文件中包含更多数据。

PHP写入文件的实现示例

以下是 PHP 写入文件的示例:

示例 #1

首先,我们使用以下代码添加 2 行数据:

代码:

<?php
$testf = "TestFile.txt";
$filehandle = fopen($testf, 'w');
$fdata = "Julian Caesar\n";
fwrite($filehandle, $fdata);
$fdata = "Harry James\n";
fwrite($filehandle, $fdata);
print "Data writing completed";
fclose($filehandle);
?>

输出:

这将创建一个包含 2 行数据的文件 TestFile.txt,如前所述。

示例 #2

我们将在同一个文件中附加另外 2 个名称,如下所示:

代码:

<?php
$testf = "TestFile.txt";
$filehandle = fopen($testf, 'a');
$fdata = "Lilly Potter\n";
fwrite($filehandle, $fdata);
$fdata = "Edward Cullen\n";
fwrite($filehandle, $fdata);
print "Data has been appended";
fclose($filehandle);
?>

输出:

此示例将给定名称附加到与第一个示例相同的文件中。

结论

如上所示,当我们要在 PHP 中写入文件时,需要遵循各种方法和步骤。fwrite() 是执行此操作的主要函数之一,主要用于将数据写入文件。它们可以对我们的文件进行基本的数据写入,但应该与其他强制性函数(如 open() 和 close())结合使用,否则如果文件不存在,则无法对文件执行操作。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值