如果无法在PHP中加载文件,如何退出

时间:2014-05-06 19:12:37

标签: php xml exit

我有一个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文件的行上有警告。

2 个答案:

答案 0 :(得分:0)

在加载xml文件之前添加对libxml_use_internal_errors的调用。这是片段:

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

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

中找到更多信息

答案 1 :(得分:0)

您是否考虑过尝试这样的事情?

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";      
}