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

发布于 2024-11-07 18:38:53 字数 127 浏览 0 评论 0原文

您可以使用 get_include_path() 获取 PHP 中的当前包含路径

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

You get the current include path in PHP by using get_include_path()

I am wondering what is the lightweight way to check if the file can be included without issuing a PHP error. I am using Yii framework and I want to an import without issuing PHP error, but I fail.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

守护在此方 2024-11-14 18:38:53

从 PHP 5.3.2 开始,您可以使用

这将

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

手册中的示例:

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

上面的示例将输出类似以下内容的内容:

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

As of PHP 5.3.2, you can use

which will

Returns a string containing the resolved absolute filename, or FALSE on failure.

Example from Manual:

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

The above example will output something similar to:

 string(22) "/var/www/html/test.php"
时光匆匆的小流年 2024-11-14 18:38:53

在 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

Before PHP 5.3.2 you can split the path and check each path in a loop:

$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
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文