从链接复制文件时更改错误消息

时间:2012-10-12 09:36:16

标签: php

我想从链接中复制一些doc文件。但是,有时会出现我们无权访问的链接或过期的链接。对于我们没有权限的链接,是否有解决方案? 我想在错误消息发生时更改错误消息,我收到的错误消息是:

Warning: copy(http://www-cgi.cs.cmu.edu/afs/cs.cmu.edu/Web/People/ngm/15-721/summaries/12.pdf) [function.copy]: failed to open stream: HTTP request failed! HTTP/1.1 403 Forbidden in D:\AppServ\www\academicopter\functionWrapper.php on line 33

我尝试使用(or die ('CANNOT COPY'))代码更改错误消息:

copy($Link, $savePath . basename($Link)) or die ('CANNOT COPY');

但是,错误信息仍然相同warning .....如何更改?谢谢你:))

1 个答案:

答案 0 :(得分:3)

您可以使用@运算符消除警告。请注意,它仍会运行您可能已配置的任何自定义错误处理程序。

if (false === @copy(...)) {
    // copy failed
}

除非你使用cURL复制文件,否则没有其他方法可以摆脱警告。

修改

您也可以使用get_headers($url)并查找HTTP/x.x 403。这是另外一个请求,我个人可以省去麻烦:)