写php任何时候我都会想到效率,效率,因为你永远不知道运行你程序的网站的主机状况。
而且大部分主机都有iis ,cpu占用的限制,没有限制的主机还是别买了,呵呵
我一直以来都用file-exits 来判断文件是否存在,那天偶然发现有这么一说:is_file 比file_exits更快
写了一段代码测试了一下
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | $start_time = get_microtime(); for($i=0;$i<10000;$i++) { if(is_file('url.txt')) { //do nothing; } } echo 'is_file耗时-->'.(get_microtime() - $start_time).'<br>'; $start_time = get_microtime(); for($i=0;$i<10000;$i++) { if(file_exists('url.txt')) { //do nothing; } } echo 'file_exits-->'.(get_microtime() - $start_time).'<br>'; function get_microtime()//时间 { list($usec, $sec) = explode(' ', microtime()); return ((float)$usec + (float)$sec); } |
上面是1w次的测试,你会发现一个神奇结果
1.如果url.txt确实是存在的
那么is_file大约耗时 0.007sec.
file_exits耗时0.16sec.
is_file函数的确速度惊人!
但是别高兴太早,看另外一种情况
2.如果url.txt确实 不 存在
is_file耗时0.53sec.
file_exits耗时0.21sec.
3.看起来file_exits函数并不会因为该文件是否真的存在而影响速度,但是is_file影响就大了。
还是需要研究一下哪里适用这两个函数…
Recent Comments