Скрыть объявление
ВАШИ ПРАВА ОГРАНИЧЕНЫ!

Зарегистрируйтесь на форуме, чтобы стать полноценным участником сообщества!

Вопрос? Переименовать массово картинки

Тема в разделе "Вопросы- ответы", создана пользователем shacus, 2 май 2023.

02.05.23 в 17:10
03.05.23 в 12:27
12
487
0
  1. TopicStarter Overlay
    shacus

    shacus Зелёный

    Регистрация:
    28 июл 2021
    Сообщения:
    14
    Лучших ответов:
    0
    Рейтинги:
    +2 / 0 / -0
    Добрый день. Подскажите, как можно массово переименовать картинки на DLE сайте.

    Имеется тонна картинок, в конце имени каждой стоит адрес старого сайта.

    Код:
     
    http://site.ru./uploads/posts/2020-10/1286691170_picture-07-site.ru.jpg
    http://site.ru./uploads/posts/2018-11/1227089932_picture-08-site.ru.jpg
    http://site.ru./uploads/posts/2015-11/1226853889_picture-09-site.ru.jpg
    В идеале хочется
    или
    переименовать -site.ru.jpg на -site2.ru.jpg
    или
    убрать вообще из имени картинки старое имя сайта.
     
  2. Andrey555

    PRO Users

    Регистрация:
    30 янв 2018
    Сообщения:
    121
    Лучших ответов:
    1
    Рейтинги:
    +137 / 65 / -0
    Поиск и замена массовая не работает?
     
  3. ERR

    ERR
    Команда форума VIP Кинотрафик v2

    Регистрация:
    17 апр 2015
    Сообщения:
    831
    Лучших ответов:
    1
    Рейтинги:
    +462 / 69 / -0
    Скачивается папка с картинками
    Через bat файл получается список файлов в папке
    Через bat файл пишется алгоритм переименования файлов
    Заливается папка с новыми именами обратно
    В дле разделе "замена" делаем корректную замену
     
  4. igrovik

    igrovik Местный

    Регистрация:
    11 дек 2016
    Сообщения:
    1.007
    Лучших ответов:
    8
    Рейтинги:
    +355 / 12 / -0
    Можно так, скачать базу данных. Открыть через notepad++
    ctrl+f далее заменить
    в найти вводите то что нужно заменить
    заменить на ставите то на что нужно заменить, если ничего не нужно тогда оставляете пусто, таким образом будет вырезан ваш -site.ru к примеру.

    Аааа стоп мой вариант мимо, не верно прочёл запрос((((.
     
    #4 igrovik, 2 май 2023
    Последнее редактирование: 2 май 2023
  5. Черный Корсар

    Черный Корсар Бывалый

    Регистрация:
    22 май 2019
    Сообщения:
    357
    Лучших ответов:
    2
    Рейтинги:
    +95 / 27 / -0
    Скачать папку с картинками и далее Total Commander, массовое переименование
     
  6. TopicStarter Overlay
    shacus

    shacus Зелёный

    Регистрация:
    28 июл 2021
    Сообщения:
    14
    Лучших ответов:
    0
    Рейтинги:
    +2 / 0 / -0
    Всем спасибо, направления понял.

    Нужно скачать, для начала, 20к картинок.
     
  7. igrovik

    igrovik Местный

    Регистрация:
    11 дек 2016
    Сообщения:
    1.007
    Лучших ответов:
    8
    Рейтинги:
    +355 / 12 / -0
    Можно попробовать скриптом пройти на серваке (если не желаете качать картинки конечно )) ), ну 20к фиг сколько займет по времени. Ну думаю не очень уж. Можете попробовать.

    Создать файл php с содержимым.
    произвести настройку

    Код:
    $name = '-site.ru';# Что хотим заменить
    и

    Код:
    $name_1 = '-site-2.ru'; # На что хотим заменить
    Код:
    <?php
    ini_set('max_execution_time', '0');
    
    $name = '-site.ru';# Что хотим заменить
    $name_1 = '-site-2.ru'; # На что хотим заменить
    
    if (file_exists("uploads/posts/".$papka)){
        foreach (glob("uploads/posts/*") as $files){
            $i = 0;
            foreach (glob($files."/*") as $index => $files_1){
                $file = $files_1;
                preg_match('#posts\/([0-9]+-[0-9]+)\/#',$file,$papka);
                
                $file = preg_replace("#uploads\/posts\/[0-9]+-[0-9]+\/#",'',$file);
                $file = str_replace($name,$name_1,$file);
                
                rename($files_1,"uploads/posts/".$papka[1].'/'.$file);
                
                $i++;
            }
        }
     
    }
    
    
    ?>
     
  8. TopicStarter Overlay
    shacus

    shacus Зелёный

    Регистрация:
    28 июл 2021
    Сообщения:
    14
    Лучших ответов:
    0
    Рейтинги:
    +2 / 0 / -0
    igrovik

    Код:
    $name = '-site.ru';# Что хотим заменить
    Код:
    $name_1 = '-'; # На что хотим заменить
    Подскажите, так сработает, или есть какое-то минимальное количество символов?

    или лучше так (но там есть и png и, возможно, другие форматы файлов)

    Код:
    $name = '-site.ru.jpg';# Что хотим заменить
    Код:
    $name_1 = '-.jpg'; # На что хотим заменить
     
  9. igrovik

    igrovik Местный

    Регистрация:
    11 дек 2016
    Сообщения:
    1.007
    Лучших ответов:
    8
    Рейтинги:
    +355 / 12 / -0
    Может и так сработать
    Код:
    $name_1 = '-'; # На что хотим заменить
    Может и так
    Код:
    $name_1 = '-123'; # На что хотим заменить
    Нет ограничений.

    Без разницы какие там форматы, данный скрипт просто меняет эту часть -site.ru на ту что вам нужно.
    Лучше делать так

    Код:
    $name = '-site.ru';# Что хотим заменить
    Код:
    $name_1 = 'То что хотите видеть вместо -site.ru '; # На что хотим заменить 
    Не используя форматов.
     
  10. TopicStarter Overlay
    shacus

    shacus Зелёный

    Регистрация:
    28 июл 2021
    Сообщения:
    14
    Лучших ответов:
    0
    Рейтинги:
    +2 / 0 / -0
    Всем спасибо за помощь. Воспользовался скриптом от igrovik.
     
    • Нравится Нравится x 1
  11. TopicStarter Overlay
    shacus

    shacus Зелёный

    Регистрация:
    28 июл 2021
    Сообщения:
    14
    Лучших ответов:
    0
    Рейтинги:
    +2 / 0 / -0
    igrovik

    Заметил сегодня, что скрипт не обработал картинки, которые находятся в подпапках thumbs/

    Пример папки
    Код:
    site.ru/uploads/posts/2017-11/thumbs/
     
  12. igrovik

    igrovik Местный

    Регистрация:
    11 дек 2016
    Сообщения:
    1.007
    Лучших ответов:
    8
    Рейтинги:
    +355 / 12 / -0
    Попробуй-те этот скрипт.

    Код:
    <?php
    ini_set('max_execution_time', '0');
    
    $name = '-site.ru';# Что хотим заменить
    $name_1 = '-site-2.ru'; # На что хотим заменить
    
    if (file_exists("uploads/posts/".$papka)){
        foreach (glob("uploads/posts/*") as $files){
         
            foreach (glob($files."/*") as $index => $files_1){
                if(stripos($files_1,'/thumbs') !== false){
                    $file = $files_1;
                    preg_match('#posts\/([0-9]+-[0-9]+)\/#',$files_1,$papka);
                    
                    foreach (glob($files_1."/*") as $files_2){
                        #echo $files_2."\r\n";
                        $file_2 = $files_2;
                        $file_2 = preg_replace("#uploads\/posts\/[0-9]+-[0-9]+\/thumbs\/#",'',$file_2);
                        $file_2 = str_replace($name,$name_1,$file_2);
                        rename($files_2,"uploads/posts/".$papka[1].'/thumbs/'.$file_2);
                    }
                }
            }
        }
     
    }
    
    
    ?>
     
  13. TopicStarter Overlay
    shacus

    shacus Зелёный

    Регистрация:
    28 июл 2021
    Сообщения:
    14
    Лучших ответов:
    0
    Рейтинги:
    +2 / 0 / -0
    igrovik
    Все работает. Благодарю еще раз.
     
    • Нравится Нравится x 1
Яндекс.Метрика