如何检查包含路径下是否存在文件?

时间:2011-05-18 07:27:02

标签: php yii

使用get_include_path()

获取PHP中的当前包含路径

我想知道什么是轻量级方法来检查文件是否可以包含而不会发出PHP错误。我正在使用Yii框架,我想导入而不发出PHP错误,但我失败了。

2 个答案:

答案 0 :(得分:33)

从PHP 5.3.2起,您可以使用

  

返回包含已解析的绝对文件名的字符串,如果失败则返回FALSE。

手册示例:

 var_dump(stream_resolve_include_path("test.php"));

以上示例将输出类似于:

的内容
 string(22) "/var/www/html/test.php"

答案 1 :(得分:9)

在PHP 5.3.2之前,您可以拆分路径并检查循环中的每个路径:

$find = 'file.php'; //The file to find
$paths = explode(PATH_SEPARATOR, get_include_path());
$found = false;
foreach($paths as $p) {
  $fullname = $p.DIRECTORY_SEPARATOR.$find;
  if(is_file($fullname)) {
    $found = $fullname;
    break;
  }
}
//$found now contains the file to be included, or false if not found