1

重複の可能性:
PHP で SimpleXMLElement 解析エラーをキャッチ

ファイルのアップロードにxmlファイルを使用しています。私が使用しているsimplexml_load_file("files/sample.xml"); xmlファイルのエラー手段を指定すると、次のような警告が表示されます。

Warning (2): simplexml_load_file() [http://php.net/function.simplexml-load-file]: files/sample.xml:8: parser error : Opening and ending tag mismatch:
Warning (2): simplexml_load_file() [http://php.net/function.simplexml-load-file]:

try catch を使用して警告が表示されました。私はケーキPHPを使用しています

4

2 に答える 2

1

警告を試行/キャッチしたい場合は、警告を例外に「変換」する必要があります。

グローバル エラー ハンドルを次のように設定します。

set_error_handler( 'error_handler' );

次に、警告を例外に変換します。

function error_handler( $errno, $errmsg, $filename, $linenum, $vars )
  {
    // error was suppressed with the @-operator
    if ( 0 === error_reporting() )
      return false;

    if ( $errno !== E_ERROR )
      throw new \ErrorException( sprintf('%s: %s', $errno, $errmsg ), 0, $errno, $filename, $linenum );

}
于 2012-10-17T09:08:56.893 に答える