PHP文件处理函数fopen()打开文件问题
作者:bea
昨天又复习了一遍PHP文件处理函数,也写了一些小实例,在对文件的操作过程中发现了一个小小的疑问,和大家一起探讨下。
PHP文件处理函数fopen()需要两个必须的参数,一个是文件路径,另一个是打开文件的模式,如果文件打开失败该函数会返回false,如果打开文件成功则返回指向该文件的指针引用句柄。我的疑问是如果希望打开的文件不存在,那么fopen()函数返回的是什么呢?是false吗?
很有可能大家会认为是false,刚开始也是这么认为的,但是我们的思维太片面了。请继续看下文。
fopen()函数的第二个参数是指定打开目标文件的模式,问题的答案就在这个模式上面,以模式分情况讨论。
1、目标文件不存在且打开文件模式为"r"只读
看下面的代码:
$filename = "douya.txt";
$fileHandle = fopen($filename,"r");
if($filename != false){
echo "成功打开不存在的文件!";
}else{
echo "不存在的文件打开失败!";
}
?>
上面代码的输出结果是:不存在的文件打开失败!继续看第二种情况。
2、目标文件不存在且打开文件的模式为"w"只写
看下面的代码:
$filename = "douya.txt";
$fileHandle = fopen($filename,"w");
if($filename != false){
echo "成功打开不存在的文件!";
}else{
echo "不存在的文件打开失败!";
}
?>
上面代码的输出结果是:成功打开不存在的文件。与第一种截然不同。
总结:PHP文件处理函数fopen()第二个参数如果是"w"且目标打开文件不存在的时候该函数会试着去创建这个目标文件;而如果模式是"r"只读的话,如果文件不存在则返回false。
上面的问题是我在将字符串写入文件使用fwrite()函数的时候发现的,开始想如果文件不存在,fopen()返回false那么fwrite()函数为什么还能起作用呢?
一点小小的发现和大家共享!还有什么不足的地方可以留言补充下。
有用 | 无用猜你喜欢
您可能感兴趣的文章:
- 修改Apache默认端口等配置信息
- 301重定向如何做?301重定向方法总结
- web编程、学编程秘诀就是不停的写
- Facebook打不开,Facebook上不去
- 如何决策项目是否要用PHP框架来开发
- PHP类分享:Session保存到数据库
- 《细说PHP》PDF电子版下载地址
- 构建基于LAMP的网站架构感想
- 程序员简历 HR怎么评价你的简历的
- zend studio 5.5下载经典PHP开发工具
- .php是什么文件 .php用什么打开
- PHP json_encode出现的奇怪问题
- PHP上传文件无刷新实现代码
- 2011年9月最新编程语言排行榜
- PHP安全编程 编写安全的PHP代码
- 《细说PHP》- 豆芽的第一本PHP资料
- 比较PHP开源博客emlog和wordpress
- 根据编程语言排行榜选择编程语言
- 整理PHP文件上传后缀与文件类型对照表