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. 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 code is as follows
|
Copy code
|
||||
File exists (current directory) is_file:0.4570ms
file_exists:2.0640ms file_exists:3.3500ms The file exists (absolute path level 5/www/hx/a/b/c/)
| The file does not exist (absolute path level 5/www/hx/a/b/c/)
Directory exists
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.