パフォーマンスの観点から PHP でリモート ファイルをダウンロードする 3 つの方法、_PHP チュートリアル

WBOY
リリース: 2016-07-12 09:01:58
オリジナル
887 人が閲覧しました

PHP でリモート ファイルをダウンロードする 3 つの方法をパフォーマンスの観点から検討します。

今日 Excel をエクスポートするとき、エクスポートされた Excel ファイルを頻繁にテストする必要があります。サーバー側で Excel をエクスポート ==> Excel ファイルをローカルにダウンロード ==> して開きます。

リモート ファイルをダウンロードするための PHP ソリューションをリマインダーとして示します。 3 番目の方法では、ファイルが大きすぎる場合のパフォーマンスの問題が考慮されます。

3つのプラン:

-rw-rw-r-- 1 liuyuan liuyuan 470 2月20日 18:12 test1_fopen.php
-rw-rw-r-- 1 liuyuan liuyuan 541 2月20日 18:06 test2_curl.php
-rw-rw-r-- 1 liuyuan liuyuan 547 2月20日 18:12 test3_curl_better.php

オプション 1、小さなファイルに適しています

fopen()/file_get_contents()を直接使用してファイルストリームを取得し、file_put_contents()を使用して書き込みます

リーリー

オプション 2: Curl を通じてコン​​テンツを取得する

リーリー

1 番目と 2 番目の解決策には問題があります。つまり、ファイルがローカル ディスクに書き込まれる前にメモリに読み込まれるため、ファイルがメモリを超えてクラッシュする可能性があります。

メモリが十分な大きさに設定されている場合でも、これは不必要なオーバーヘッドです


解決策は、CURL に書き込み可能なファイル ストリームを直接与えて、この問題を CURL 自身で解決できるようにすることです (CURLOPT_FILE オプション経由)。そのため、最初にそのファイル ポインターを作成する必要があります。


リーリー

上記のコンテンツでは、パフォーマンスの観点から PHP でリモート ファイルをダウンロードする 3 つの方法を紹介しました。

興味があるかもしれない記事:

    phpのリモートファイルクラスのダウンロード(ブレークポイント再開アップロードをサポート)
  • パスワード機能付きphpとローカル指定ディレクトリの変更を保存するリモートファイルのダウンロード 強化版
  • 高性能PHPフレームワーク Symfony2クラシック入門チュートリアル
  • phpでのfile_get_contentsとcurlのパフォーマンスの比較分析
  • PHPでリモートファイルをローカルストレージにダウンロードする方法

http://www.bkjia.com/PHPjc/1086658.htmlwww.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/1086658.html技術記事 PHP でリモート ファイルをダウンロードする 3 つの方法をパフォーマンスの観点から検討します。 今日 Excel をエクスポートするとき、エクスポートされた Excel ファイルを頻繁にテストする必要があります。非常に面倒なので、一段落書きたいと思います。 ...
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!