Скачать файл из интернета на сервер

1-ый способ:

Данный вариант будет работать, если в php.ini, параметр allow_url_fopen равен 1.

$img_url = 'http://site.ru/images/image.jpg';

# 1-ый способ
copy($img_url, 'uploads/image.jpg');

# 2-ой способ (скачивание картинки)
$file = file_get_contents($img_url);
file_put_contents('path/to/save/image.jpg', $file);

2-ой способ: cURL

$fp = fopen('image.png', 'w'); // создание файла
$ch = curl_init('http://example.com/image.png');

curl_setopt($ch, CURLOPT_FILE, $fp); // запись в файл
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, false);

curl_exec($ch);