中找到更多信息
我有一个PHP脚本,它加载位于磁盘本地的压缩XML文件。如果XML语法正确,则加载XML并进行进一步的操作。但是,当XML文件语法错误时,脚本会生成警告。我希望脚本退出,如果它不能加载XML文件而不产生任何警告。请帮助!提前感谢。
$xml = simplexml_load_file("compress.zlib://local.xml.gz");
if ($xml=== false)
{
echo "Failed loading XMLn";
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";
}