>백엔드 개발 >PHP 튜토리얼 >PHP Download Image Or File From URL

PHP Download Image Or File From URL

WBOY
WBOY원래의
2016-06-23 14:32:421597검색

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으로 문의하세요.
이전 기사:php 使用功能다음 기사:Php Ctemplate相关内容