• 采用r+模式写入文本“r+ mode”
<?php $DOCUMENT_ROOT = $_SERVER['DOCUMENT_ROOT']; $fp = fopen("$DOCUMENT_ROOT/text.txt",'r+'); fwrite($fp,'r+ mode'); fclose($fp); ?>
运行后再打开文本,发现“I am in”被“r+ mode”覆盖了:
• 采用a+模式写入文本“a+ mode”
基于”I am initialized value”的初始文本我们运行以下代码:
<?php $DOCUMENT_ROOT = $_SERVER['DOCUMENT_ROOT']; $fp = fopen("$DOCUMENT_ROOT/text.txt",'a+'); fwrite($fp,'a+ mode'); fclose($fp); ?>
I am initialized value没有被删除和覆盖,而是在后面追加了a+ mode的这一段新文本运行多次后:
•采用w+模式写入文本“w+ mode”
基于”I am initialized value”的初始文本我们运行以下代码:
<?php $DOCUMENT_ROOT = $_SERVER['DOCUMENT_ROOT']; $fp = fopen("$DOCUMENT_ROOT/text.txt",'w+'); fwrite($fp,'w+ mode'); fclose($fp); ?>
运行后,我们发现”I am initialized value”已经被删除了,然后才加上了“w+ mode”这段新文本
【注意】r+,a+,w+还有一个区别是a+,w+在文件不存在时则创建文件,r+文件不存在时报错
【吐槽】:关于r+和w+,a+的区别,我找了网络上,包括W3C和各种博客文章以及那本“PHP圣经”上的各种资料,发现都是一笔带过去的,这也是我写这篇文章的原因
三.文件读取和文件写入操作
先说说几个比较重要的函数:
• file_exists():判断文件是否存在,返回布尔值
• filesize():判断一个文件大小,返回文件的字节数,为整型数字
• unlink():删除一个文件
写入文件
fwrite(资源文件对象[string],写入方式[string]),资源文件对象即为fopen方法返回的参数,为Resource类型,写入方式可以是w(或者w+,a+,r+) 已经有上面的例子,这里就不放demo了
读取文件
这是我们要读取的文件内容:
读取文件的方式有以下几种:
1.一次读取一个字节的数据 fgetc()