Созонов Алексей

Веб-разработчик

Сохранить изображение или файл с удаленного сервера php

09.08.2015

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

PHP сохранить удаленный файл с помощью 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);

    }
?>

Пример

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

PHP сохранить удаленный файл при помощи 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);
    }
?>

Пример

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