Но это самый простой вариант, не рекомендуемый в реальных условиях. Загуглите на тему "PHP сохранение изображения на сервер"
Как же любят PHP'шники изобретать велосипеды... Всё вышеописанное реализуется всего двумя функциями - file_get_contents + file_put_contents
Но вообще, нечего надеяться на такую странную фичу PHP как работа файловых функций с внешними адресами (что без должного подхода чревато утечкой данных с собственного же сайта/сервера), а использовать библиотеку curl, которая для этого специально презназначена.
Тролли вырвались на свободу?))
Где тут велосипед? Вы можете писать так как вам удобнее, а для меня fopen, fread, fwrite привычнее потому что напоминают функции Си fopen, fgets, fputs. И ничего плохого, за что меня можно было бы осуждать я в этом не вижу.
А вот как раз предложенное вами подключение такой мощной библиотеки как cUrl в данном случае, это все равно, что предложить стрелять из танка по воробьям.