У меня есть скрипт php, который берет изображение с внешнего URL, читает его и сохраняет в каталог на моем сервере.Скрипт находится в php-файле и содержит:
<?php
$image_url = "http://example.com/image.jpg";
$ch = curl_init();
$timeout = 0;
curl_setopt ($ch, CURLOPT_URL, $image_url);
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
// Getting binary data
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_BINARYTRANSFER, 1);
$image = curl_exec($ch);
curl_close($ch);
$f = fopen('/home1/path/public_html/path/saved/image.jpg', 'w');
fwrite($f, $image);
fclose($f);
?>
Там все отлично работает ...
Я хотел бы, чтобы скрипт делал это для нескольких URL-адресов.URL-адреса будут записаны в виде textarea, разделенных запятыми (или иначе).
Кнопка отправки затем сообщит сценарию, что нужно выполнить трюк со всеми URL-адресами в форме и сохранить их под любым именем, это не важно (случайный вариант подойдет).
Я все еще новичок и изучаю PHP.
Заранее спасибо за помощь!
РЕДАКТИРОВАТЬ
Мой код выглядит следующим образом:
<?php
error_reporting(E_ALL);
$image_urls = explode('\n', $_POST['urls']);
foreach ($image_urls as $image_url) {
$ch = curl_init();
$timeout = 0;
curl_setopt ($ch, CURLOPT_URL, $image_url);
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_BINARYTRANSFER, 1);
$image = curl_exec($ch);
curl_close($ch);
$f = fopen('/home1/path/public_html/path/saved/'.rand().time().".jpg", 'w');
fwrite($f, $image);
fclose($f);
}
?>
Работаеттолько для первого и не возвращает ошибок ... Есть идеи?
Спасибо за вашу большую помощь!