php fopen的一些使用心得

时间:2021-04-16

  php中函数fopen()主要用来打开文件,其有很多模式,具体参考php手册,今天主要说下r,a模式。

  最近在做一个项目,打算全部用面向对象的方式写,其中就把fopen()封装了下做一个方法调用,其中可以传入模式mod参数,具体代码如下:

function getFileStream($fileName, $mod = 'r'){
$stream = '';
if($fileName){
$stream = fopen($fileName,$mod);
}
return $stream;
}

  这样在读取已经存在的文件时,一点问题都没有,但是在创建一个没有存在的文件时,不管你传入的mod是什么,返回的文件流$stream都是只读的,导致新文件一直创建不成功,但是也不会报错,经过多重测试,发现如果要创建一个没有存在的文件时间,需要即fopen()即用,不能用函数封装后再返回文件流,这样永远是只读。上面的代码需要改下一下:

function getFileStream($fileName){
$stream = '';
if($fileName){
$stream = fopen($fileName,'r');
}
return $stream;
}

function createFile($fileName, $fileContext){
if($fileName){
$stream = fopen($fileName,'a');
fwrite($stream.$fileContext);
fclose($stream);
}
}

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章