这is_file不能代替file_existsPHP的原因

这is_file不能代替file_existsPHP的原因
我们可以使用下面的代码来测试它:
复制代码代码如下:< PHP
文件名=测试.txt;
如果(is_file($文件名)){
$文件名存在!;
{人}
$文件名不存在!;
}
睡眠(10);
如果(is_file($文件名)){
$文件名存在!;
{人}
$文件名不存在!;
}
>
运行测试代码时,我们保证下的test.txt文件存在。在上面的代码中,该is_file函数用于判断文件是否存在的第一时间,然后睡眠功能被称为睡眠10秒。在这10秒,我们要删除下的test.txt文件。最后,看在第二呼叫结果的is_file功能。输出结果如下:
test.txt存在!
test.txt存在!
嗯,你没有看到错误的东西。两时间是test.txt输出存在!那是为什么原因是,is_file已缓存。当调用is_file功能的第一时间,PHP将保存该文件的属性(文件属性)。当is_file再次呼吁,如果文件名和第一次一样,它将返回缓存直接。
那么,改变is_file到file_exists我们可以改变上述代码中的file_exists is_file函数功能,再测试一下上面的测试方法,结果如下:
test.txt存在!
test.txt不存在!
第二次时,file_exists调用,文件不存在。这是因为file_exists功能不缓存。当它调用file_exists,将磁盘搜索文件存在。所以它会回到第二次错误。
这么多,我只想说,is_file不能代替file_exists。如果你认为is_file是好的,我做不到。
免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部