Как проверить, существует ли файл в пути include?
Вы получаете текущий путь include в PHP, используя get_include_path()
Мне интересно, какой легкий способ проверить, может ли файл быть включен без ошибки PHP. Я использую структуру Yii, и я хочу импортировать без ошибки PHP, но я терпеть неудачу.
Ответы
Ответ 1
До 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
Ответ 2
Начиная с PHP 5.3.2 вы можете использовать
который будет
Возвращает строку, содержащую разрешенное абсолютное имя файла, или FALSE при сбое.
Пример из руководства:
var_dump(stream_resolve_include_path("test.php"));
В приведенном выше примере будет выведено нечто похожее на:
string(22) "/var/www/html/test.php"