ホームページ > バックエンド開発 > PHPチュートリアル > PHP はリモート ファイルを取得してローカルに保存するのが一般的ですか?

PHP はリモート ファイルを取得してローカルに保存するのが一般的ですか?

WBOY
リリース: 2016-06-13 12:54:14
オリジナル
837 人が閲覧しました

PHP はリモート ファイルを取得してローカルに保存します。一般的に使用される方法
は、ローカルおよびリモートのリソースをローカル
にダウンロードすることです。 知る方法は
です fopen

file_get_contents

CURLOPT_FILE
とカール $fp = fopen($local, "w"); curl_setopt($cp, CURLOPT_FILE, $fp);


ソケットメソッドもあります



どの方法が良いでしょうか? ? ? ? ? ?
これにより、いくつかの特殊な状況下でリモート ファイルをローカルに保存できるようになります

たとえば、https リソース
$url = "https://raw.github.com/robgietema/obviel-bootstrap/18625b502c9a11a90eb18285a2d3cb22c499aa41/libs/jquery/1.8.3/jquery.js";
ローカルに保存することもできます
(これは一例です。他にもあるはずですが、例を挙げることができません)



-----解決策---------最初の 2 つを一緒に使用してください
長いリンクと頻繁にやり取りするためのオプションのソケット

PHP ソケットが好きではないのはなぜですか? すべては需要に基づいています

これは https
を処理する方法です。
<br />
	$url = "https://raw.github.com/robgietema/obviel-bootstrap/18625b502c9a11a90eb18285a2d3cb22c499aa41/libs/jquery/1.8.3/jquery.js";<br />
    $ch = curl_init();  <br />
    curl_setopt($ch, CURLOPT_URL, $url);  <br />
    curl_setopt($ch, CURLOPT_HEADER, false);  <br />
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);  <br />
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);  <br />
    curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.1 Safari/537.11');  <br />
    $res = curl_exec($ch);  <br />
    $rescode = curl_getinfo($ch, CURLINFO_HTTP_CODE);   <br />
    curl_close($ch) ;  <br />
    <br />
	file_put_contents("test123.txt",$res);//write<br />
ログイン後にコピー


-----解決策---------file_get_contents が最も便利ですただし、タイムアウトの問題と独自のエラー処理に関する研究はあります。

カールは強力かつ全能です。追加の拡張機能が必要なだけで、一部のサーバーはそれをサポートしていない可能性があり、移植に影響します。

ソケットに関しては、実際には必要ありません。本当に使用したい場合は、オープンソース コードが現在入手可能です。
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート