Home  >  Article  >  Backend Development  >  PHP function selection to determine whether a file exists (file_exists or is_file)

PHP function selection to determine whether a file exists (file_exists or is_file)

WBOY
WBOYOriginal
2016-07-25 09:00:411208browse
We know that PHP provides two built-in functions is_file and file_exists, both of which can be used to determine whether a file exists on appropriate occasions. Which one is better to use? This article will give you a brief explanation.

Let’s take a look at the test data below. Specific examples and visible data are the most convincing.

Use is_file and file_exists to detect the existence of the file, execute it 1000 times respectively, and record the required time.

The 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.

I believe that you are smart and have already understood it. Programmer’s Home will give you a summary: 1. To determine whether the file exists, use the function is_file(). 2. To determine whether the directory exists, use the function is_dir(), 3. When you are not sure whether the incoming parameter is a file or a directory, you can consider file_exists, otherwise you will be too lonely.



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