首页 » PHP » 正文

通过一个小例子来解释fopen函数中关于w和w+操作的区别

2016-5-30 ·  5,635 views  ·  0 replies 

fopen()这个函数大家都不陌生,用处就是打开一个文件,官方文档是这样解释的:
fopen — 打开文件或者 URL
参数: resource fopen ( string $filename , string $mode [, bool $use_include_path = false [, resource $context ]] )
这次我们只看第二个参数中的w和w+的区别,根据官方的解释,
‘w’ 写入方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建之。
‘w+’ 读写方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建之。
那么怎么用一个例子来解释两者的区别呢
[php]<?php
$file = ‘./urls.txt’;
$handle = fopen($file,’w+’);

//写入文件
fwrite($handle,’I am angry.’);
rewind($handle);
$str = fgets($handle);
echo $str;
fclose($handle);
[/php] 输出结果,I am angry.
值得注意的是,fwrite写完之后,指针指向了文件末尾,所以用rewind将指针指向文件头
[php] <?php
$file = ‘./urls.txt’;
$handle = fopen($file,’w’);

//写入文件
fwrite($handle,’I am angry.’);
rewind($handle);
$str = fgets($handle);
echo $str;
fclose($handle);
[/php] 当我们将w+改为w之后,输出为空
因为w只能写,并不能读取文件
所以他们的区别就是这样
w 写方式打开,w+读写方式打开

«上一篇: :下一篇»
  1. 还没有任何评论,你来说两句吧

Leave a reply