PHP determines whether a file exists using file_exists or is_file_PHP tutorial

WBOY
Release: 2016-07-20 11:03:18
Original
1110 people have browsed it

When writing a program, I found that there are two ways of writing when judging whether a file exists. Some people use is_file, and some people use file_exists. Which one is better or more appropriate? ​

To determine whether a file exists, use is_file or file_exists?

When I was writing a program, I found that there are two ways to determine whether a file exists. Some people use is_file, and some people use file_exists. Which one is better or more appropriate?

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.

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

The file does not exist (absolute path level 5/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)
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?


www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/445301.htmlTechArticleWhen writing a program, I found that there are two ways of writing when judging whether a file exists. Some people use is_file. Some people use file_exists, which one is better or more appropriate? Determine if the file exists...
source:php.cn
Statement of this Website
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
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template