2017-01-05 2 views
0

Ich habe Funktion, die Dateien dynamisch benötigt. Einige Dateien können Fehler enthalten, und in diesem Fall wird die gesamte Seite zu diesem Zeitpunkt fehlschlagen.Überprüfen Sie, ob die erforderliche Datei ordnungsgemäß ausgeführt wird

Gibt es eine Möglichkeit zu überprüfen, ob ein Fehler in der erforderlichen Datei angezeigt wird, und wenn alles in Ordnung ist, laden Sie die Datei, wenn etwas nicht stimmt show error? Etwas wie folgt aus:

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

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

Antwort

0

Ja, wenn Sie PHP 7 verwenden sind, können Sie es gerne tun:

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

was ist die Überprüfung, ob die file_exists() vor require() verwenden.

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

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

warum runter? Bitte geben Sie den Grund an, wenn Sie eine Antwort ablehnen. –

+0

Weiß nicht:/(Ich habe keine Stimme abgegeben). Versucht dies, aber es funktioniert nicht für mich. Ich möchte prüfen, ob die bestehende Datei ohne Probleme läuft. Wenn es irgendwo einen Fehler gibt (nicht Syntax eins), trow Fehler, fahre mit dem Rest des Skripts fort und trow Fehler für diese Datei. – Sasha

0

Sie können mit diesem Befehl php -f die Fehler in PHP-Datei überprüfen:

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

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

Aber die Ausnahmen nach wie vor der richtige Weg, um Fehler zu verwalten.

Verwandte Themen