Скрипт для массового уменьшения расширений изображений

Тема в разделе "Коммерческие", создана пользователем G-Null, 3 мар 2008.

Информация :
Публиковать (для всех) нуленые версии, особенно от modulesgarden КАТЕГОРИЧЕСКИ не стоит. Тема мониторится оным разработчиком, а к нам приходят абузы которые нельзя игнорировать.
Статус темы:
Закрыта.
Модераторы: Amazko, Aste
  1. G-Null

    G-Null

    Регистр.:
    6 сен 2007
    Сообщения:
    180
    Симпатии:
    21
    Приветствую!
    Нету ли у кого-нибудь скрипта которому можно было бы задать список файлов, скажем .jpg, или просто папку и он бы уменьшил все изображения до заданного расширения.
    В сети подобных скриптов видел много, но там всё относительно одного изображения. Но подкрутить "пакетность", думаю, будет не так сложно. Просто может у кого есть уже готовое решение ?
     
  2. censored!

    censored!

    Регистр.:
    3 авг 2007
    Сообщения:
    293
    Симпатии:
    106
    Если надо офлайн, то через Фотошоп.
    Записываешь макрос (просто порядок действий).
    А потом лезешь в меню: "File"-"Automate"-"Batch" где указываешь папку, каким макросом переколбашивать ну и действия, нырять в подпапки, туда же сохранять, переименовывать и т.п.

    p.s. Правильно — разрешения.
     
  3. rootkit

    rootkit Постоялец

    Регистр.:
    4 апр 2007
    Сообщения:
    143
    Симпатии:
    27
    на php можно сделать -
    1. сканируем директорию и получаем в массив все имена картинок
    2. пишем ф-цию для уменьшения и с ее помощью делаем всё (выложу позже тогда эту ф-цию - может тебе нужен был вариант, предложенный в предыдущем посте)
     
  4. G-Null

    G-Null

    Регистр.:
    6 сен 2007
    Сообщения:
    180
    Симпатии:
    21
    В-общем, готового варианта не дождался, сделал сам на основе описанного здесь
    Перейти по ссылке
    скриптик очень простой
     

    Вложения:

    R2D2Fan нравится это.
  5. rootkit

    rootkit Постоялец

    Регистр.:
    4 апр 2007
    Сообщения:
    143
    Симпатии:
    27
    R2D2Fan нравится это.
  6. SavaWSS

    SavaWSS Писатель

    Регистр.:
    6 мар 2008
    Сообщения:
    6
    Симпатии:
    1
    В далёком 2001 году был написан скрипт который делал ресайз картинок налету.

    Вот так это выглядит:

    PHP:
    <?php

    //    <img src="image_s.php4?P=имя_картинки" height="120" width="180">
    //    пути к пикче незабываем добавить

    $src $HTTP_GET_VARS[$P]

    mysql_close ();


        if (!
    file_exists($src)) { // делаем пустышку

            
    Header("Content-type: image/Png");
            
    $im ImageCreate (180120); /* Create a blank image */
            
    $bgc ImageColorAllocate ($im255255255);
            
    $tc  ImageColorAllocate ($im00255);
            
    ImageFilledRectangle ($im00180120$bgc);

            
    /* Output an errmsg */
            
    $string "подпись к картинке если нужно";
            
    $px = (imagesx($im)-7.5*strlen($string))/2;
            
    $py 105;
            
    ImageString($im,3,$px,$py,$string,$tc);
            
    ImagePng($im);

        }else{ 
    // ресайзим 
        
            
    Header("Content-type: image/jpeg");
            
    $im imageCreateFromJpeg("$src");
            
    $im_s = @ImageCreate (180120); // тут размеры новой пикчи
    //    тут желательно один параметр, ширину или высоту сделать постоянной 
    //    а второй вычислять по пропорциям.

            
    $srcW imagesx($im) ;
            
    $srcH imagesy($im) ;

        
    //  imagecopyresized (int dst_im, int src_im, int dstX, int dstY, int srcX, int srcY, int dstW, int dstH, int srcW, int srcH)
            
    imagecopyresized (     $im_s,        $im,        0,        0,        0,        0,      180,      120,    $srcW,    $srcH);
            
    $color  imagecolorresolve ($im_s255255255);
            
    $string "подпись к картинке если нужно";
            
    $px = (imagesx($im_s)-7.5*strlen($string))/2;
        
    //    $py = (imagesy($im_s)-7.5*strlen($string))/2;
            
    $py 105;
            
    ImageString($im_s,3,$px,$py,$string,$color);
            
    ImageJpeg($im_s);
            
    ImageDestroy($im);
            
    ImageDestroy($im_s);

        }

    ?>                
     
    R2D2Fan нравится это.
  7. bumer3

    bumer3

    Регистр.:
    10 янв 2008
    Сообщения:
    291
    Симпатии:
    154
    Прошу заметить что если уменьшат много картинок сразу то может не хватить времени в скрипте чтобы уменьшить все, тогда если есть возможность увеличить время работы скрипта в настройках пхп или сделать БД загружать все картинки для уменьшение и через крон постепенно уменьшать не уменьшеные....
     
  8. VeHik

    VeHik Писатель

    Регистр.:
    17 фев 2008
    Сообщения:
    5
    Симпатии:
    0
    Можно отключить ограничение по времени функцией:
    Таким образом, время работы скрипта будет неограничено.
     
  9. oro26wef

    oro26wef Прохожие

    e-mage processor
    VSO image resizer
     
  10. VeHik

    VeHik Писатель

    Регистр.:
    17 фев 2008
    Сообщения:
    5
    Симпатии:
    0
    Это приложения для ОС, а автор спрашивает про скрипт, который можно было бы выполнить на сервере.
     
Статус темы:
Закрыта.