首页 >后端开发 >php教程 >PHP Download Image Or File From URL

PHP Download Image Or File From URL

WBOY
WBOY原创
2016-06-23 14:32:421586浏览

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