首頁  >  文章  >  後端開發  >  PHP Download Image Or File From URL

PHP Download Image Or File From URL

WBOY
WBOY原創
2016-06-23 14:32:421574瀏覽

I’ll show you 3 functions that download a particular file (ex: image,video,zip,pdf,doc,xls,etc) from a remote resource (via a valid URL) then save to your server.

Depending on your current php.ini settings, some functions may not work; therefore, let try which function is best for you.

Note: please ensure the folder you want to store the downloaded file is existed and has write permission for everyone or the web process.

For all examples below, I assume that we’re going to download a remote image from: http://4rapiddev.com/wp-includes/images/logo.jpg and save it to a download sub folder with name: file.jpg.

1. PHP Download Remote File With file_get_contents and file_put_contents

<?php    function download_remote_file($file_url, $save_to)    {        $content = file_get_contents($file_url);        file_put_contents($save_to, $content);    }?>

 

Example:

<?php    download_remote_file('http://cdn2.4rapiddev.com/wp-includes/images/logo.jpg', realpath("./downloads") . '/file.jpg');?>

 

2. PHP Download Remote File With CURL

<?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);     }?>

 

Example:

<?php    download_remote_file_with_curl('http://cdn2.4rapiddev.com/wp-includes/images/logo.jpg', realpath("./downloads") . '/file.jpg');?>

 

3. PHP Download Remote File With fopen

<?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);    }?>

 

Example:

<?php    download_remote_file_with_fopen('http://cdn2.4rapiddev.com/wp-includes/images/logo.jpg', realpath("./downloads") . '/file.jpg');?>

 

Again, “download” folder must be exists and writable.

 

From: http://4rapiddev.com/php/download-image-or-file-from-url/

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn