php中的错误处理

时间:2009-05-21 12:59:18

标签: php error-handling

我有一个文件打开一个URL并读取它并进行解析。 现在,如果该URL变为dwon并且我的文件无法打开它,那么我需要的是应该生成错误邮件但是在终端或konsole上应该没有出现错误消息。 我怎样才能做到这一点? Plz帮助!!

3 个答案:

答案 0 :(得分:2)

你可以随时做这样的事情(假设你使用的是file_get_contents)

$file = @fopen("abc.com","rb");
if(!$file) { 
    @mail(.......); 
    die(); 
} 
//rest of code. Else is not needed since script will die if hit if condition

答案 1 :(得分:1)

如果您要通过网络检索文件,请使用curl。它内置了错误处理,它会告诉您发生的错误。使用file_get_contents不会告诉你出了什么问题,它也不会遵循重定向。

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'http://domain.com/file');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
$result = curl_exec($ch);
if ( $result == false ) {
    $errorInfo = curl_errno($ch).' '.curl_error($ch);
    mail(...)
} else {
    //Process file, $result contains file contents
}

答案 2 :(得分:0)

if (!$content = file_get_contents('http://example.org')) {
  mail(...);
}