It is obvious that file_exists is affected by the ASP, because the ASP not only has FileExists and folderexists,driverexists, then what is the meaning of file_exists in PHP?
PHP file_exists = is_dir + is_file
It can determine whether a file exists, and can determine whether the directory exists. But such a comprehensive function execution is very inefficient, as if the request in ASP does not specify a form or a get,cookies, so the conclusion is:
◦ If you want to determine whether a directory exists, use a standalone function Is_dir (directory)
◦ If you want to determine whether a file exists, use a standalone function is_file (filepath)
--------------------------------------------------------------------------------------
Is_file only judge whether the file exists;
File_exists to determine whether the file exists or whether the directory exists;
Is_dir to determine whether the directory exists;
--------------------------------------------------------------------------------------
View the manual, although the results of these two functions are cached, but is_file is faster than n times.
There is also a noteworthy:
Files exist in the case, is_file than file_exists faster n times;
If the file does not exist, the is_file is slower than the file_exists;
The conclusion is that the File_exits function does not affect speed because the file really exists, but the is_file effect is large.
Write a program to verify:
Execute 1000 times separately to record the time required.
File exists (current directory)
Is_file:0.4570ms
File_exists:2.0640ms
File exists (absolute path 3-layer/www/hx/a/)
Is_file:0.4909ms
File_exists:3.3500ms
File exists (absolute path 5-layer/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 does not exist (absolute path 5-layer/www/hx/a/b/c/)
Is_file:4.1909ms
File_exists:4.1502ms
Directory exists
File_exists:2.9271ms
Is_dir:0.4601ms
Directory does not exist
File_exists:2.9719ms
Is_dir:2.9359ms
Is_file ($file)
File_exists ($file)
Is_file returns False,file_exists returns True when $file is a directory
In the case of files, Is_file is much faster than file_exists;
The deeper the directory you want to detect, the worse the speed, but at least 4 times times faster.
If the file does not exist, the is_file is a little slower than the file_exists, but can be negligible.
In the case of directory existence, Is_dir is much faster than file_exists;
If the directory does not exist, the is_dir is a little slower than the file_exists, but can be negligible.
Conclusion:
If you want to determine whether a 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, not sure if the incoming parameter is a file or a directory.