ホームページ  >  記事  >  バックエンド開発  >  Curl ダウンロード ファイルにはリアルタイムの進行状況バーが表示されます (コード付き)

Curl ダウンロード ファイルにはリアルタイムの進行状況バーが表示されます (コード付き)

php中世界最好的语言
php中世界最好的语言オリジナル
2018-05-17 13:51:125935ブラウズ

今回は Curl ダウンロード ファイルのリアルタイム プログレス バー (コード付き) を紹介します。 Curl ダウンロード ファイルでリアルタイム プログレス バーを表示するための 注意事項 は何ですか。実際のケースを見てみましょう。 。

はじめに

最近、コマンドラインでのプログラミングをいじっていますが、進行状況バーがあればもっと便利です。 ! !

まず、非常に優れたプログレスバー拡張パックを入手しましょう

https://github.com/dariuszp/cli-progress-bar (ローカルダウンロード)

レンダリング:

まだかなり格好良いです!

curl の用途は何ですか?

php を使用します。curl は主にデータをキャプチャします。もちろん、fsockopen や

file_get_contents などの他のメソッドを使用してキャプチャすることもできます。ただし、直接アクセスできるページのみをキャプチャできます。アクセス制御のあるページやログイン後のページをキャプチャする場合は、さらに困難になります。

curl は、PHP の非常に一般的なダウンロード方法として

curl を使用します。これは、ファイルが大きい場合の非常に単純な例です。長時間待つ場合は、この時点で進行状況バーの効果を追加する必要があります:

// 初始化一个 curl
$ch = curl_init();
// 设置请求的 url
curl_setopt($ch, CURLOPT_URL, $url);
// 
curl_setopt($ch, CURLOPT_HEADER, 0);
// 不直接输出,而是通过 curl_exec 返回
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
if (false === ($stream = curl_exec($ch))) {
 throw new \Exception(curl_errno($ch));
}
curl_close($ch);
return $stream;
ダウンロード コールバックの判断における落とし穴に必ず注意してください。 ! !

別の問題があります。ダウンロードにジャンプして、curl をジャンプに設定すると、返されるファイルに問題が発生します。これにより、ファイル ヘッダーにこのリクエストの最初の HTTP 応答が含まれます。ヘッダーの内容は

ですので、それはあなたのニーズ次第です

この記事の事例を読んだ後は、この方法を習得したと思います。さらにエキサイティングな内容については、php 中国語 Web サイトの他の関連記事に注目してください。

推奨書籍:

curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);PHP で XML データを動的に追加する手順の詳細な説明

CMSPRESS で無制限の分類を実現します (コード付き)

以上がCurl ダウンロード ファイルにはリアルタイムの進行状況バーが表示されます (コード付き)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。