【问题标题】:Change error message when copy a file from a link从链接复制文件时更改错误消息
【发布时间】:2012-10-03 02:24:13
【问题描述】:

我想从链接中复制一些 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 .....怎么改呢?谢谢你:)

【问题讨论】:

  • 您是否尝试过使用try-catch 语句?
  • @MateiMihai 这是一个警告,而不是例外。

标签: php


【解决方案1】:

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

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

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

编辑

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-12-17
    • 2017-10-10
    • 2016-10-15
    • 1970-01-01
    • 1970-01-01
    • 2020-07-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多