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 |