PHP поймать неудавшийся включить
Я пытаюсь включить файл и поймать его, если файл не существует/не может быть открыт. Я бы подумал, что простой оператор try/catch работал бы, но PHP, похоже, полностью игнорирует его и выдает ошибку.
Любые идеи? Я знаю, что в stackoverflow есть другие вопросы, которые я видел, но ни один из них, похоже, не имеет правильного рабочего ответа.
Ответы
Ответ 1
Вы можете проверить возвращаемое значение include, чтобы узнать, не сработало или нет:
if((@include $filename) === false)
{
// handle error
}
Вы заметите, что я включил оператор подавления ошибок (@
), чтобы отображать стандартные сообщения об ошибках.
Ответ 2
Так как include()
возвращает false
при сбое, просто проверьте, возвращает ли он значение true, а затем делает что-то вроде die()
или показывает ошибку.
if (!include('page.php'))
die('Error.');