is_file和file_exists都可以用来判断一个文件是否存在,file_exists还能判断一个目录是否存在,另外is_dir也能判断目录是否存在。
is_file和file_exists相比,文件存在时,is_file比file_exists要快一些。不存在时,两者效率差不多,可以忽略。
下面是两者的详细用法:
file_exists
(PHP 4, PHP 5, PHP 7)
file_exists — 检查文件或目录是否存在
参数 ¶
filename
-
文件或目录的路径。
在 Windows 中要用 //computername/share/filename 或者 \\computername\share\filename 来检查网络中的共享文件。
返回值 ¶
如果由 filename
指定的文件或目录存在则返回 TRUE
,否则返回 FALSE
。
Note:
This function will return
FALSE
for symlinks pointing to non-existing files.
Warning
如果因为安全模式的限制而导致不能访问文件的话,该函数会返回 FALSE
。然而,可以使用 include 来包含,如果文件在safe_mode_include_dir 所指定的目录里。
Note:
The check is done using the real UID/GID instead of the effective one.
Note: 因为 PHP 的整数类型是有符号整型而且很多平台使用 32 位整型,对 2GB 以上的文件,一些文件系统函数可能返回无法预期的结果 。
is_file
(PHP 4, PHP 5, PHP 7)
is_file — 判断给定文件名是否为一个正常的文件
参数 ¶
filename
-
文件的路径。
返回值 ¶
如果文件存在且为正常的文件则返回 TRUE
,否则返回 FALSE
。
Note: 因为 PHP 的整数类型是有符号整型而且很多平台使用 32 位整型,对 2GB 以上的文件,一些文件系统函数可能返回无法预期的结果 。
范例 ¶
Example #1 is_file() 例子
<?php
var_dump(is_file('a_file.txt')) . "\n";
var_dump(is_file('/usr/bin/')) . "\n";
?>
以上例程会输出:
bool(true) bool(false)
错误/异常 ¶
失败时抛出E_WARNING
警告。
注释 ¶
Note: 此函数的结果会被缓存。参见 clearstatcache() 以获得更多细节。
Tip
自 PHP 5.0.0 起, 此函数也用于某些 URL 包装器。请参见 支持的协议和封装协议以获得支持 stat() 系列函数功能的包装器列表。
转载请注明:MitNick » php file_exists和is_file的区别