php file()在出错时处理错误

时间:2016-10-02 19:21:21

标签: php

我使用php file()函数将xml内容转换为数组,如:

$XMLContent=file("http://www.domain.com/file.xml");

但我不知道如何处理错误,如文件不存在或网站。 我试着用这种方式:

try {
  $XMLContent=file("http://www.domain.com/file.xml");
  ....
} catch (Exception $e) {
   echo $e->getMessage();
}

但如果网站错误,我的错误日志中总会出现两个错误:

1)file():php_network_getaddresses:getaddrinfo failed:

中未知的名称或服务

2)无法打开流:php_network_getaddresses:getaddrinfo失败:

中未知的名称或服务

var_dump($XMLContent);显示错误

如果文件不存在,那么我的日志中不会出现错误但是 var_dump($XMLContent);显示了我不需要的其他内容

如何正确处理这些错误并且错误不会记录在错误文件中?

1 个答案:

答案 0 :(得分:0)

$file = fopen ("http://www.example.com/", "r");
if (!$file) {
    echo "<p>Unable to open remote file.\n";
    exit;
}

来源:http://php.net/manual/en/features.remote-files.php