PHP simplexml_load_file - 错误处理

时间:2011-04-28 14:49:51

标签: php

我正在从正在运行的外部服务器加载XML文件。但是,如果文件不存在或加载时出现其他问题,我该如何收到错误消息?

这是我的代码:

$xml = simplexml_load_file('http://api.example.com/2/image/' . $myhash . '.xml'); 

此外,我想知道如果出现这种情况,最佳做法是什么。 我应该只显示错误消息,例如“错误 - 请重新加载页面”,还是应该直接将用户重定向到“主页”或404页面?

感谢您的提示。 (我只在同一台服务器上找到了文件示例)

1 个答案:

答案 0 :(得分:4)

从查看函数simplexml_load_file

的php文档

你可以这样做:

$xml = simplexml_load_file('http://api.example.com/2/image/' . $myhash . '.xml');
if ($xml === false) {
      // error so redirect or handle error
      header('location: /404.php');
      exit;
}
else {
     // process xml
}

我真的不知道你要从这个XML中得到什么,但是如果它第一次没有工作和错误,那么告诉用户它不工作的重点是,请重新加载页面。

我建议重定向到错误页面(例如404)或显示错误消息,例如“意外错误 - 请稍后再试”,然后让它记录到错误日志或发送电子邮件告诉您错误