Я отправляю фотографии с других сайтов, и я предпочел бы иметь их на своих серверах, если их сервер внезапно умрет. Скажем, файл находится на «www.www.www / image.gif», как бы безопасно скопировать его в «images» в моем каталоге?
Я пишу на PHP.
Благодаря!
Следующее должно работать:
// requires allow_url_fopen $image = file_get_contents('http://img.ruphp.com/image/image.jpg'); file_put_contents('/images/image.jpg', $image);
или маршрут cURL :
$ch = curl_init('http://img.ruphp.com/image/image.jpg'); $fp = fopen('/images/image.jpg', 'wb'); curl_setopt($ch, CURLOPT_FILE, $fp); curl_setopt($ch, CURLOPT_HEADER, 0); curl_exec($ch); curl_close($ch); fclose($fp);
Если ваш сервер настроен на поддержку путей http: //, вы можете использовать file_get_contents
.
Если это не сработает, вторым простейшим способом является использование curl
для которого вы обязательно найдете полноценные сценарии загрузки.
Некоторым серверам, на которые вы извлекаете изображения, может потребоваться User-agent, который показывает, что вы обычный браузер. В пользовательских примечаниях есть готовый класс для завивки, который обрабатывает это и предоставляет простую функцию DownloadFile ().