如果在PHP中加载文件失败,如何退出


how to exit if fail to load file in PHP

我有一个PHP脚本,它加载位于磁盘本地的压缩XML文件。如果XML语法正确,则加载XML并进行进一步的操作。但是,当XML文件语法错误时,脚本会生成警告。我希望脚本退出,如果它不能加载XML文件而不产生任何警告。请帮助!提前感谢。

       $xml = simplexml_load_file("compress.zlib://local.xml.gz");
        if ($xml=== false)
        {
         echo "Failed loading XML'n";
         foreach(libxml_get_errors() as $error) 
        {
         echo "'t", $error->message;
        }
        exit(0);
     }
     else 
     {
        echo "Success!Xml File is loaded <br/><br/>";        
     }

在我的代码中,脚本退出,但在加载XML文件的行上有警告。

在加载xml文件之前添加对libxml_use_internal_errors的调用。下面是代码片段:

libxml_use_internal_errors(true);
$xml = simplexml_load_file("compress.zlib://local.xml.gz");

这将禁用libxml错误,并允许用户根据需要获取错误信息。你可以在php doc

中找到更多信息

你考虑过这样做吗?

libxml_use_internal_errors(true);
if (file_exists('compress.zlib://local.xml.gz')) {
  $xml = simplexml_load_file('compress.zlib://local.xml.gz');
  if ($xml === false) {
    echo "Failed loading XML";
    foreach(libxml_get_errors() as $error) {
      echo "'t", $error->message;
    }
  } else {
    echo "Success! XML file is loaded <br/><br/>";
  }
} else {
  echo "XML does not exist";      
}