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
}

私の知る限り、代わりに cURL を使用してファイルをコピーしない限り、警告を取り除く方法は他にありません。

編集

get_headers($url)を使用して探すこともできますHTTP/x.x 403。これはもう 1 つの要求であり、個人的には問題を回避できます :)

于 2012-10-12T09:38:16.457 に答える