fopen()函数 r r+终竟有啥区别啊

原创
2016-06-13 12:14:16 934浏览

fopen()函数 r r+到底有啥区别啊?
fopen(),后面的参数,
比如:r
r+
一个只读模式,一个读写模式,到底有什么区别啊,为什么要创造出个后面这个模式?
能不能通过一个实例让我明白下?
------解决思路----------------------
r ,只能读取fread,不能写入fwrite
r+ ,两者都可以,且是覆盖写入
------解决思路----------------------
$fn = 'abc.txt'; //待操作的文件名

file_put_contents($fn, '12345'); //写入测试数据
readfile($fn); //看一下,内容为 12345

//r 只读模式
$fp = fopen($fn, 'r');
$c = fgetc($fp);
echo $c;
echo fputs($fp, 'a'); //0 没有字符被写入
fclose($fp);
readfile($fn); //看一下,内容为 12345 没有改变

//r+ 读写模式
$fp = fopen($fn, 'r+');
$c = fgetc($fp);
echo $c;
echo fputs($fp, 'a'); //1 写入1个字符
fclose($fp);
readfile($fn); //再看一下,内容为 1a345


------解决思路----------------------
r 只能读取里面的内容,没有权限往文件里面写
r+ 可以往里边写

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