三分钟教你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 '写入失败或者没有权限,注意检查'; } ?>
输出结果:
在我的目录中本来不存在test.txt,通过函数之后,我的目录中出现了test.txt,并且内容如下:
由上述示例我们可以看出,写入一个文件还是不难的,按照规定的函数格式,指定的文件就可以被写入。
fwrite
配合f
open
进行写入操作
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 .'字节被写入了 '; ?>
输出结果:
在目录中的test.txt文件内容如下:
由上述示例我们可以得到以下总结:
-
不论有没有新建都会打开文件重新写入
-
原有的文件内容会被覆盖掉
-
文件不存在会创建
接下来我们再来对比一下,几个模式的不同:
-
r
—只能读不能使用fwrite写 -
r+
—可操作读、写 -
w
—只可以写功能 -
w+
—即可读又可以写
举个例子:
还是上述示例,把其中的w换成r,示例如下:
<?php $a = 'test.txt'; $b= fopen($a, "r"); $c = fwrite($b, '好好学习,天天向上;'); fclose($b); print $c .'字节被写入了 '; ?>
输出结果:
通过示例我们发现,r模式下写入是不成功的。
a模式和w模式的不同
还是通过上面的代码,把r换成a试一下,示例如下:
<?php $a = 'test.txt'; $b= fopen($a, "a"); $c = fwrite($b, '好好学习,天天向上;'); fclose($b); print $c .'字节被写入了 '; ?>
输出结果:
test.txt文本内容如下:
通过上述示例发现,a模式下,每刷新一次,就会多写入一次。每次写入都会在文件尾端追加内容。
推荐学习:《PHP视频教程》