PHP URLから画像またはファイルをダウンロード
Jun 23, 2016 pm 02:32 PM
リモート リソースから (有効な URL 経由で) 特定のファイル (例: 画像、ビデオ、zip、pdf、doc、xls など) をダウンロードし、サーバーに保存する 3 つの関数を紹介します。
現在の php.ini 設定によっては、一部の機能が動作しない場合があります。したがって、どの機能が最適であるかを試してみましょう。
注: ダウンロードしたファイルを保存するフォルダーが存在し、全員または Web プロセスに対して書き込み権限があることを確認してください。
以下のすべての例では、 http://4rapiddev.com/wp-includes/images/logo.jpg からリモート イメージをダウンロードし、ダウンロード サブ フォルダーに file.jpg という名前で保存します。
1. PHP でリモート ファイルをダウンロードします。 file_get_contents と file_put_contents
<?php function download_remote_file($file_url, $save_to) { $content = file_get_contents($file_url); file_put_contents($save_to, $content); }?>
ログイン後にコピー
例:
<?php download_remote_file('http://cdn2.4rapiddev.com/wp-includes/images/logo.jpg', realpath("./downloads") . '/file.jpg');?>
ログイン後にコピー
2. CURL を使用した PHP のリモート ファイルのダウンロード
<?php function download_remote_file_with_curl($file_url, $save_to) { $ch = curl_init(); curl_setopt($ch, CURLOPT_POST, 0); curl_setopt($ch,CURLOPT_URL,$file_url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $file_content = curl_exec($ch); curl_close($ch); $downloaded_file = fopen($save_to, 'w'); fwrite($downloaded_file, $file_content); fclose($downloaded_file); }?>
ログイン後にコピー
例:
<?php download_remote_file_with_curl('http://cdn2.4rapiddev.com/wp-includes/images/logo.jpg', realpath("./downloads") . '/file.jpg');?>
ログイン後にコピー
3. fopen を使用して PHP リモート ファイルをダウンロードする
<?php function download_remote_file_with_fopen($file_url, $save_to) { $in= fopen($file_url, "rb"); $out= fopen($save_to, "wb"); while ($chunk = fread($in,8192)) { fwrite($out, $chunk, 8192); } fclose($in); fclose($out); }?>
ログイン後にコピー
例:
<?php download_remote_file_with_fopen('http://cdn2.4rapiddev.com/wp-includes/images/logo.jpg', realpath("./downloads") . '/file.jpg');?>
ログイン後にコピー
繰り返しますが、「ダウンロード」フォルダーが存在し、書き込み可能である必要があります。
出典: http://4rapiddev.com/php/download-image-or-file-from-url/
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

人気の記事
R.E.P.O.説明されたエネルギー結晶と彼らが何をするか(黄色のクリスタル)
2週間前
By 尊渡假赌尊渡假赌尊渡假赌
レポ:チームメイトを復活させる方法
4週間前
By 尊渡假赌尊渡假赌尊渡假赌
ハローキティアイランドアドベンチャー:巨大な種を手に入れる方法
3週間前
By 尊渡假赌尊渡假赌尊渡假赌
スプリットフィクションを打ち負かすのにどれくらい時間がかかりますか?
3週間前
By DDD
R.E.P.O.ファイルの保存場所:それはどこにあり、それを保護する方法は?
3週間前
By DDD

人気の記事
R.E.P.O.説明されたエネルギー結晶と彼らが何をするか(黄色のクリスタル)
2週間前
By 尊渡假赌尊渡假赌尊渡假赌
レポ:チームメイトを復活させる方法
4週間前
By 尊渡假赌尊渡假赌尊渡假赌
ハローキティアイランドアドベンチャー:巨大な種を手に入れる方法
3週間前
By 尊渡假赌尊渡假赌尊渡假赌
スプリットフィクションを打ち負かすのにどれくらい時間がかかりますか?
3週間前
By DDD
R.E.P.O.ファイルの保存場所:それはどこにあり、それを保護する方法は?
3週間前
By DDD

ホットな記事タグ

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック
Gmailメールのログイン入り口はどこですか?
7312
9


Java チュートリアル
1624
14


CakePHP チュートリアル
1346
46


Laravel チュートリアル
1259
25


PHP チュートリアル
1207
29



LaravelのバックエンドでReactアプリを構築する:パート2、React
