Скачать картинки в папку

Статус
В этой теме нельзя размещать новые ответы.

Greyz

Старатель
Регистрация
2 Авг 2007
Сообщения
305
Реакции
14
Есть допустим 1000 ссылок на картинки вида(нумерация картинок в ссылке идет не по порядку:(
xttp://123.ru/foto/1.jpg
..................
xttp://123.ru/foto/9485.jpg

Нужно все картинки скачать в одну папку с таким же именем (фактически номер.jpg).
Помогите плз, должно быть совсем не сложно, просто сам не обладаю.
 
задачу уточни. ты передаешь через форму эти каринки или просто есть массив ссылок, с которых надо забрать картинки?
 
  • Заблокирован
  • #3
Поправил скрипт, теперь можно изменять размер изображений
 
PHP:
<?php
$lnk[0]='http://***.com/1276349065_zvkrw.jpg';
$lnk[1]='http://***.com/1277498455_bsxzw.jpg';
foreach ($lnk as $url){
$savefile="pict/".basename($url);
$ch = curl_init($url);
$fp = fopen ($savefile, "w");
curl_setopt ($ch, CURLOPT_FILE, $fp);
curl_setopt ($ch, CURLOPT_HEADER, 0);
curl_exec ($ch);
curl_close ($ch);
fclose ($fp);
}
?>

он просил не сваливать все в кучу, а выщемить номер из имени файла, создать каталог с таким номером и положить файл туда
 
  • Заблокирован
  • #5
Перечитай его сообщение
Нужно все картинки скачать в одну папку с таким же именем
Если нужно в папки, то эту строку
PHP:
$savefile="pict/".basename($url);
заменяем на
PHP:
$savefile=basename($url)."/".basename($url);
 
Всем спасибо! Особенно за ресайз!!!! Мне нужно будет потом все картинки в три разных размера изменять, думал ручками делать:). Один косяк, ссылки должны с файла хаваться, а тут судя по всему вручную вбиваются....
 
  • Заблокирован
  • #7
PHP:
<?php
$link=file("links.txt");

foreach ($link as $url){

$savefile="pict/".basename($url);
$ch = curl_init($url);
$fp = fopen ($savefile, "w");
curl_setopt ($ch, CURLOPT_FILE, $fp);
curl_setopt ($ch, CURLOPT_HEADER, 0);
curl_exec ($ch);
curl_close ($ch);
fclose ($fp);
img_resize($savefile,$savefile,500,0); //изменяем размер. ширина 500, высота пропорциональна
}

function img_resize($src, $out, $width, $height, $color = 0xFFFFFF, $quality = 100) 
{
    if (!file_exists($src)) {
        return false;  
    }
    $size = getimagesize($src);
    $format = strtolower(substr($size['mime'], strpos($size['mime'], '/') + 1));
    $picfunc = 'imagecreatefrom'.$format;
    $gor = $width  / $size[0];
    $ver = $height / $size[1];  
    if ($height == 0) {
        $ver = $gor;
        $height  = $ver * $size[1];
    }
	elseif ($width == 0) {
        $gor = $ver;
        $width   = $gor * $size[0];
    }
    $ratio   = min($gor, $ver);
    if ($gor == $ratio)
        $use_gor = true;
    else
        $use_gor = false;
    $new_width   = $use_gor  ? $width  : floor($size[0] * $ratio);
    $new_height  = !$use_gor ? $height : floor($size[1] * $ratio);
    $new_left    = $use_gor  ? 0 : floor(($width - $new_width)   / 2);
    $new_top     = !$use_gor ? 0 : floor(($height - $new_height) / 2);

    $picsrc  = $picfunc($src);
    $picout = imagecreatetruecolor($width, $height);
    imagefill($picout, 0, 0, $color);
    imagecopyresampled($picout, $picsrc, $new_left, $new_top, 0, 0, $new_width, $new_height, $size[0], $size[1]);
    imagejpeg($picout, $out, $quality);
    imagedestroy($picsrc);
    imagedestroy($picout);
    return true;
}

?>
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху