Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Как удалить картинки с кириллическими именами?


Recommended Posts

Я сделал заказчику модуль для поиска и удаления непривязанных (устаревших) изображений. Столкнулся с проблемой удаления файлов, названия которых содержат не латинские символы или кракозябры, например, 'нет фото2.xlsx', 'РЎ-101160.jpg, 'Р’-030071.jpg', 'Кам_РјСѓСЃ1-770x380[1].jpg'.

Надіслати
Поділитися на інших сайтах

1 минуту назад, Waskadagama сказал:

автоматически не удаляются изображения этого товара?

потому что, изображения могут использоваться в других местах.   в статьях, модулях 

Надіслати
Поділитися на інших сайтах

14 минут назад, Waskadagama сказал:

Кстати, всегда интересовал вопрос, почему при удалении товара автоматически не удаляются изображения этого товара?

по-моему есть такой модуль

Надіслати
Поділитися на інших сайтах

Код покажите, как ищите картинку и пытаетесь удалить. Пробовали-ли переименовать, потом удалить?

Надіслати
Поділитися на інших сайтах

11 часов назад, buslikdrev сказал:

Код покажите, как ищите картинку и пытаетесь удалить. Пробовали-ли переименовать, потом удалить?

С переименованием еще не пробовал - тут смартфон украли. занимался блокировкой симки. банковских карт, вычислением imai.

Все картинки найдены и занесены в таблицу. Далее идет удаление

 private function deleteProcess()
     {
     if($this->request->post['status']==2)
       {
           echo $this->language->get('text_report_deleted');
            exit  ;
       }
       $query=$this->db->query("SELECT * FROM `".DB_PREFIX."image_files` WHERE  name != '' LIMIT 0,".(int)$this->limit);
       if(count($query)>0)
       $counter=$this->deleteFiles($query->rows);
       else
              $counter=0;
        echo $counter;
          exit ;
     }
     
 private function deleteFiles($list)
    {
        $counter=0;
        foreach($list as $item){
        if(unlink($this->path.$item['path'])){
             $this->db->query("DELETE FROM `".DB_PREFIX."image_files` WHERE id='".(int)$item['id']."'");    
            $counter++;
            }
        }
     return $counter;
    }

Файлы с нормальными именами удаляются, а кривые нет. При этом, если из базы не будут удалены ти кривые файлы, то может произойти зацикливание (лимит 50, хотя в цикле можно указать и 500), или все равно удалять из таблицы.

Надіслати
Поділитися на інших сайтах

4 минуты назад, esculapra сказал:

С переименованием еще не пробовал

Я думаю такие файлы перемещать в отдельную папку, а ее потом удалять.

Надіслати
Поділитися на інших сайтах

2 часа назад, Shureg сказал:

Не пробовали в htaccess добавить?

Не пробовал. Если даже это сработает, то если я поставлю несколько таких модулей. то у каждого заказчика мне нужно брать фтп доступы... Попробую копировать нормальные файлы в клон директории, затем удалять оригинальную и переименовывать клон. Та там ваще файлы есть по 100 МБ и более! Прийдется, видимо, добавить еще функционал по оптимизации изображений.

Надіслати
Поділитися на інших сайтах

3 минуты назад, esculapra сказал:

Прийдется, видимо, добавить еще функционал по оптимизации изображений.

Вот как раз тоже недавно решал этот вопрос, использую webp, полет пока нормальный..
На моей памяти заказчики грузили по 20 метров)) 100 - это рекорд, блин ))

 

Змінено користувачем Prooksius
Надіслати
Поділитися на інших сайтах

Я использовал мод, что предложил @Tom, который с Webp работает.
Но немного его поменял, чтобы делал webp не через

imagewebp($this->image, $file, $quality);

а вот так:

exec("cwebp -q " . $quality . " ".$temp_file." -o ".$file." ");

$temp_file - источник, $file - результат в виде webp-файла.

Надіслати
Поділитися на інших сайтах

21 минуту назад, esculapra сказал:

Та там ваще файлы есть по 100 МБ и более!

вообще-то странно, по-моему если есть такие фотки - файловый менеджер будет страшно глючить и вылетать с ошибками переполнения памяти в php...

Надіслати
Поділитися на інших сайтах

54 минуты назад, Prooksius сказал:

вообще-то странно, по-моему если есть такие фотки - файловый менеджер будет страшно глючить

Возможно это как раз ненужные картинки - под очистку подпадают более 2700 картинок..

Надіслати
Поділитися на інших сайтах

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.