ホームページ  >  記事  >  バックエンド開発  >  PHP URLから画像またはファイルをダウンロード

PHP URLから画像またはファイルをダウンロード

WBOY
WBOYオリジナル
2016-06-23 14:32:421547ブラウズ

リモート リソースから (有効な 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 までご連絡ください。
前の記事:PHPの使い方関数次の記事:PHPの使い方関数