Differences between is_file and file_exists and is_dir in php

Source: Internet
Author: User

Is_file only checks whether the file exists;

The code is as follows: Copy code


<? Php
$ File = "test.txt ";
If (is_file ($ file )){
Echo ("$ file is a regular file ");
} Else {
Echo ("$ file is not a regular file ");
}
?>

Output: test.txt is a regular file

File_exists checks whether the file exists or whether the directory exists;

The code is as follows: Copy code

<? Php
Echo file_exists ("test.txt ");
?>

Input

1

Is_dir: determines whether a directory exists;

Example

The code is as follows: Copy code

<? Php
$ File = "images ";
If (is_dir ($ file ))
  {
Echo ("$ file is a directory ");
  }
Else
  {
Echo ("$ file is not a directory ");
  }
?>

Output:

Images is a directory

Check the manual. Although the results of both functions are cached, the is_file speed is N times faster.

Note the following:

If the file exists, is_file is N times faster than file_exists;
If 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 because the file actually exists, but the is_file function has a greater impact.

Test

The code is as follows: Copy code

File exists (current directory)
Is_file: 0.4570 ms
File_exists: 2.0640 ms
File exists (absolute path layer 3/www/hx//)
Is_file: 0.4909 ms
File_exists: 3.3500 ms
File exists (absolute path layer 5/www/hx/a/B/c /)
Is_file: 0.4961 ms
File_exists: 4.2100 ms
File does not exist (current directory)
Is_file: 2.0170 ms
File_exists: 1.9848 ms
File does not exist (absolute path layer 5/www/hx/a/B/c /)
Is_file: 4.1909 ms
File_exists: 4.1502 ms
Directory exists
File_exists: 2.9271 ms
Is_dir: 0.4601 ms
The directory does not exist.
File_exists: 2.9719 ms
Is_dir: 2.9359 ms

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.