1

我想从链接中复制一些文档文件。但是,有时存在我们无权访问的链接或链接已过期。对于我们没有权限的链接,有解决办法吗?我想在它发生时更改错误消息,我得到的错误消息是:

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 .....如何更改它?谢谢你 :)

4

1 回答 1

3

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

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

AFAIK 没有其他方法可以消除警告,除非您使用 cURL 来复制文件。

编辑

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

于 2012-10-12T09:38:16.457 回答