抱歉,但无法绕过安全模式限制——这就是安全模式的意义所在。如果您想包含该文件,如果您设置了一个允许访问它的路径,您仍然可以这样做safe_mode_include_dir
,但是没有办法让stat()
相关函数使用它。
编辑
一个可怕且极其危险且不可靠的解决方法可能是:
function file_exists_safemode ($file) {
$oldErrorLevel = error_reporting(E_ALL);
$oldDisplayErrors = ini_get('display_errors');
ini_set('display_errors', 1);
ob_start();
include $file;
$result = ob_get_clean();
ini_set('display_errors', $oldDisplayErrors);
error_reporting($oldErrorLevel);
return strpos($result, 'failed to open stream') === FALSE;
}
...但它在很多方面都很讨厌,我绝对不推荐这种方法。