首页 >后端开发 >PHP问题 >三分钟教你PHP中怎样写入文件?

三分钟教你PHP中怎样写入文件?

WBOY
WBOY原创
2021-10-18 17:32:119448浏览

在之前的文章中给大家带来了《PHP中怎样读取文件?(分享总结)》,里面详细的介绍了在我们应该怎样去读取文件,本篇文章继续给大家带来,我们应该怎样去创建和修改文件,希望对大家有帮助!

三分钟教你PHP中怎样写入文件?

读取文件想必已经难不到大家,那么接下来我们来看一看,我们应该怎样修改文件或者说创建文件并且修改它。

file_put_contents写入文件

首先,我们先来学习一种写入方式,file_put_contents(),它的语法格式如下:

int file_put_contents ( string $文件路径, string $写入数据])

它能够向指定的文件写入一个字符串,如果不存在这个文件,file_put_contents会创建一个文件,返回的是写入字节的长度。同时需要知道的是,如果这个指定的文件中存在内容的话,它会覆盖掉之前的内容。

示例如下:

<?php
   $a = "好好学习,天天向上;福如东海,寿比南山";
   $b = file_put_contents(&#39;test.txt&#39;, $a);
   if($b){
       echo &#39;写入成功,我们读取看看结果试试:&#39;;
       echo file_get_contents(&#39;test.txt&#39;);
   }else{
       echo &#39;写入失败或者没有权限,注意检查&#39;;
   }
?>

输出结果:

1018.31.png

在我的目录中本来不存在test.txt,通过函数之后,我的目录中出现了test.txt,并且内容如下:

1018.32.png

由上述示例我们可以看出,写入一个文件还是不难的,按照规定的函数格式,指定的文件就可以被写入。

<span style="font-size: 18px;"><strong>fwrite</strong></span>配合fopen进行写入操作

fwrite() 函数用于向文件写入字符串,成功返回写入的字符数,否则返回 FALSE 。

首先先说fwrite的语法结构如下:

int fwrite ( resource $文件资源变量, string $写入的字符串 [, int 长度])

接下来我们用fwrite加上fopen中的w,写入模式来进行文件写入。其中的特点,我们在前一篇文章中也说了,就是写入方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建。

<?php
   $a = &#39;test.txt&#39;;
   $b= fopen($a, "w");
   $c = fwrite($b, &#39;好好学习,天天向上;福如东海,寿比南山&#39;);
   fclose($b);
   print $c .&#39;字节被写入了\n&#39;;
?>

输出结果:

1018.33.png

在目录中的test.txt文件内容如下:

1018.34.png

由上述示例我们可以得到以下总结:

  • 不论有没有新建都会打开文件重新写入

  • 原有的文件内容会被覆盖掉

  • 文件不存在会创建

接下来我们再来对比一下,几个模式的不同:

  • r ---只能读不能使用fwrite写    

  • r+---可操作读、写    

  • w ---只可以写功能    

  • w+---即可读又可以写    

举个例子:

还是上述示例,把其中的w换成r,示例如下:

<?php
   $a = &#39;test.txt&#39;;
   $b= fopen($a, "r");
   $c = fwrite($b, &#39;好好学习,天天向上;&#39;);
   fclose($b);
   print $c .&#39;字节被写入了\n&#39;;
?>

输出结果:

1018.35.png

通过示例我们发现,r模式下写入是不成功的。

a模式和w模式的不同

还是通过上面的代码,把r换成a试一下,示例如下:

<?php
   $a = &#39;test.txt&#39;;
   $b= fopen($a, "a");
   $c = fwrite($b, &#39;好好学习,天天向上;&#39;);
   fclose($b);
   print $c .&#39;字节被写入了\n&#39;;
?>

输出结果:

1018.36.png

test.txt文本内容如下:

1018.37.png

通过上述示例发现,a模式下,每刷新一次,就会多写入一次。每次写入都会在文件尾端追加内容。

推荐学习:《PHP视频教程

以上是三分钟教你PHP中怎样写入文件?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn