Home  >  Article  >  Backend Development  >  Performance analysis of is_dir, is_file, file_exists functions in PHP_PHP tutorial

Performance analysis of is_dir, is_file, file_exists functions in PHP_PHP tutorial

WBOY
WBOYOriginal
2016-07-13 10:44:271016browse

Performance analysis of is_dir, is_file, file_exists functions in PHP. We have summarized the usage of the three functions in specific places from each method. Students in need can refer to it.

Performance analysis of is_dir, is_file, file_exists functions in php
php,is_dir,is_file,file_exists

Obviously file_exists is affected by asp, because asp not only has fileExists but also folderExists and driverExists. So what does file_exists mean in PHP?

PHP’s file_exists = is_dir + is_file

It can determine whether the file exists and whether the directory exists. However, the execution efficiency of such a comprehensive function is very low, just like the request in asp does not specify whether it is a form, get, or cookies, so the conclusion is:

◦If you want to determine whether the directory exists, please use the independent function is_dir(directory)
◦If you want to determine whether the file exists, please use the independent function is_file(filepath)
-------------------------------------------------- ----------------------------------

is_file only determines whether the file exists;
file_exists determines whether the file exists or whether the directory exists;
is_dir determines whether the directory exists;

Looking at the manual, although the results of these two functions will be cached, is_file is N times faster.
There is another thing worth noting:
When the file exists, is_file is N times faster than file_exists;
When the file does not exist, is_file is slower than file_exists;
The conclusion is that the file_exits function does not affect the speed depending on whether the file actually exists, but the impact of is_file is greater

After reading this article about the difference between file_exists, is_file, and is_dir in PHP, I basically understand that PHP’s file_exists = is_dir + is_file.

Write a program to verify:

Execute 1000 times each and record the required time.

The file does not exist (absolute path level 5/www/hx/a/b/c/) is_file:4.1909ms
The code is as follows
 代码如下 复制代码

文件存在(当前目录)
is_file:0.4570ms
file_exists:2.0640ms

文件存在(绝对路径3层/www/hx/a/)
is_file:0.4909ms
file_exists:3.3500ms

文件存在(绝对路径5层/www/hx/a/b/c/)
is_file:0.4961ms
file_exists:4.2100ms

文件不存在(当前目录)
is_file:2.0170ms
file_exists:1.9848ms

文件不存在(绝对路径5层/www/hx/a/b/c/)
is_file:4.1909ms
file_exists:4.1502ms

目录存在
file_exists:2.9271ms
is_dir:0.4601ms
目录不存在
file_exists:2.9719ms
is_dir:2.9359ms

Copy code



File exists (current directory) is_file:0.4570ms

file_exists:2.0640ms

The file exists (absolute path level 3/www/hx/a/)

is_file:0.4909ms

file_exists:3.3500ms

The file exists (absolute path level 5/www/hx/a/b/c/)
is_file:0.4961ms

file_exists:4.2100ms


File does not exist (current directory)
is_file:2.0170ms
file_exists:1.9848ms

file_exists:4.1502ms

Directory exists

file_exists:2.9271ms Directory does not exist file_exists:2.9719ms is_dir:2.9359ms is_file($file) file_exists($file) When $file is a directory, is_file returns false and file_exists returns true
When the file exists, is_file is much faster than file_exists; The deeper the directory where the file is to be detected, the greater the speed difference, but it is at least 4 times faster.
When the file does not exist, is_file is a little slower than file_exists, but it can be ignored. When the directory exists, is_dir is much faster than file_exists; When the directory does not exist, is_dir is a little slower than file_exists, but it can be ignored. Conclusion: If you want to determine whether the file exists, use the function is_file(), If you want to determine whether the directory exists, use the function is_dir(), There seems to be no place to use file_exists. Is it used when you are not sure whether the parameter passed in is a file or a directory? http://www.bkjia.com/PHPjc/633102.htmlwww.bkjia.comtruehttp: //www.bkjia.com/PHPjc/633102.htmlTechArticlePerformance analysis of is_dir, is_file, file_exists functions in php. We summarize the usage of the three functions from each method. Students in need can refer to specific places. is_dir,is_fi... in php
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn