检查是否存在包含(或要求)

2022-08-30 10:31:15

在你调用它之前,你如何检查一个包含/require_once是否存在,我尝试把它放在一个错误块中,但PHP不喜欢这样。

我认为需要付出一些努力,但是这需要整个文件路径,并且相对包含不能轻易传递到其中。file_exists()

还有其他方法吗?


答案 1

我相信确实适用于相对路径,尽管您也可以尝试沿着这些路线尝试一些东西......file_exists

if(!@include("script.php")) throw new Exception("Failed to include 'script.php'");

...毋庸置疑,您可以将异常替换为您选择的任何错误处理方法。这里的想法是,-语句验证是否可以包含该文件,并且通常输出的任何错误消息都通过以 为 前缀来抑制。ifinclude@


答案 2

查看stream_resolve_include_path函数,它使用与 include() 相同的规则进行搜索。

http://php.net/manual/en/function.stream-resolve-include-path.php


推荐