两种代码运行效果是一样的吧?
来源:2-7 文件读写函数封装
MosesVon
2018-02-09 17:08:52
$filename = 'a/1.txt'; //1 if(!is_dir($filename)){ mkdir($filename,0777,true); } //2 $dirname = dirname($filename); if(!file_exists($filename)){ mkdir($dirname,0777,true); }
1回答
imooc_澈
2018-02-09
您好,不一样。is_dir是判断目标变量是否为目录,而file_exits是判断路径文件是否存在。
1 如果a目录本身就不存在的话,走第一段代码,会在a目录下创建一个名为1.txt的目录,而走第二段代码,只会创建一个a目录。
2 如果a目录存在的话,而2.txt是一个存在于a目录的文件的话,走第一段代码is_dir结果为false,执行里面的文件夹创建命令,但是已经存在了名为2.txt的文件,创建名为2.txt的目录就会报错。走第二段代码因为文件已经存在,file_exits结果为true,里面的if语句块不执行。
3 如果a目录存在,下面是一个2.txt的目录,效果一样。
您下来可以自己尝试验证一下。
如果解决了您的问题,请采纳,祝学习愉快~
相似问题