欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

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

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

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

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

file_put_contents写入文件

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

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

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

示例如下:

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

输出结果:

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

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

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

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

fwrite配合fopen进行写入操作

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

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

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

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

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

输出结果:

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

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

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

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

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

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

  • 文件不存在会创建

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

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

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

  • w ---只可以写功能

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

举个例子:

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

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

输出结果:

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

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

a模式和w模式的不同

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

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

输出结果:

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

test.txt文本内容如下:

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

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

推荐学习:《PHP视频教程

以上就是三分钟教你PHP中怎样写入文件?的详细内容,更多请关注其它相关文章!

相关标签: PHP 文件