2017-01-05 2 views
0

У меня есть функция, которая требует динамического использования файлов. Некоторые файлы могут иметь ошибки, и в этом случае вся страница будет терпеть неудачу на этом этапе.Проверьте правильность правильного файла

Есть ли способ проверить, не появится ли какая-либо ошибка в требуемом файле, и если все в порядке, загрузите файл, если что-то не так, сообщите об ошибке? Что-то вроде этого:

try{ 
    require("./formfunctions/" . $file . ".php"); 

    $result = $returnValue; 
} catch(Exception $e){ 
    $result = '<strong>Loading form failed. Please contact Sys Admin about this</strong>'; 
} 

ответ

0

Да, если вы используете PHP 7 вы можете сделать это нравится:

try { 
    require 'error.php'; 
} catch (Throwable $e) { 
    echo $e->getMessage(); 
} 
-1

насчет проверки, если file_exists() перед использованием require().

if (file_exists("./formfunctions/" . $file . ".php")) { 

try{ 
    require "./formfunctions/" . $file . ".php"; 
    $result = $returnValue; 
    } catch(Throwable $e){ 
    echo $e->getMessage(); 
    } 
} 
+0

why downvote? пожалуйста, прокомментируйте причину, когда downvoting ответ. –

+0

Не знаю:/(Я не проголосовал). Пробовал это, но это не работает для меня. Я хочу проверить, работает ли существующий файл без проблем. Если есть ошибка где-то (не синтаксис один), ошибка trow, продолжайте с остальной частью скрипта и ошибкой trow для этого файла. – Sasha

0

Вы можете проверить ошибки в PHP файл с этой командой PHP -f:

$output = shell_exec('php -l inc.php'); 

if(substr($output, 0, 16) == 'No syntax errors') { 
    echo('OK'); 
}else { 
    echo('KO'); 
} 

Но исключения все же правильный способ управления ошибками.

Смежные вопросы