metrpro

Массовое удаление картинок формата .PNH

Recommended Posts

Добрый день. Стоит задача - массово ГРАМОТНо удалить все изображений объявлений формата PNG (было настроено малое сжатие, занимают много места). Если физически с сервера удалить их не проблема, то как сделать, чтобы упоминание о них в самой базе re_data пропало?..

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Использовать выборку LIKE. 

Перед применение рецепта делайте резервную копию базы.

1. Попробуем выбрать все объекты с png файлами в картинках

select * from re_data where image like '%png%'

2. Если видим что выборка совпадает с тем что реально есть в базе и лишнего там нет, тогда чистит все эти картинки из базы

update re_data set image='' where image like '%png%'

После этого все ссылки на картинки будут очищены по условию (есть png в тексте названий картинок в поле image)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
В 14.01.2019 в 07:40, rumantic сказал:

После этого все ссылки на картинки будут очищены по условию (есть png в тексте названий картинок в поле image)

Сомневаюсь, что этот рецепт поможет. В re_data, где хранятся ссылки на сами картинки и их превьюшки, поле выглядит следующим образом:

'a:3:{i:0;a:2:{s:7:"preview";s:33:"prv59632c336f627_1499671603_1.jpg";s:6:"normal";s:33:"img59632c336cb63_1499671603_1.jpg";}i:1;a:2:{s:7:"preview";s:33:"prv59632c337d85b_1499671603_2.jpg";s:6:"normal";s:33:"img59632c337d7d4_1499671603_2.jpg";}i:2;a:2:{s:7:"preview";s:33:"prv59632c338808c_1499671603_3.jpg";s:6:"normal";s:33:"img59632c3388006_1499671603_3.jpg";}}'

В рамках одного объявления могут быть размещены картинки как формата .png, так и формата .jpg. Предложенное решение полностью обнулит значение поля image, если там есть хоть одна картинки формата .png.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
В 11.01.2019 в 23:02, metrpro сказал:

Если физически с сервера удалить их не проблема

То значит и нету проблемы переименовать одно только расширение у файла.

Что сводит замену к простому ".png" на ".jpg" в базе, а не к replace'у по маске, которого в mysql нативно не существует.

Поэтому:

UPDATE re_data SET image = REPLACE(image , '.png' , '.jpg');
UPDATE re_data SET image = REPLACE(image , '.PNG' , '.jpg');

rhXrNVfF4oU.jpg

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Попытался поменять все jpg фото на формат webp командой в SQL :

UPDATE re_data SET image = REPLACE(image , '.jpg' , '.webp');

Перед этим загрузил в папку (/img/data) аналогичные фото которые там были, только в формате webp, толку ноль, фото не появились.

Подскажите, кто  нибудь, как  поменять все фото на сайте jpg на webp

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Как вариант написать специальный скрипт на пхп. Который будет по 200-500 записей за раз проходить и все делать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
6 минут назад, vihr сказал:

Как вариант написать специальный скрипт на пхп. Который будет по 200-500 записей за раз проходить и все делать.

Хорошая идея, пошел я писать тогда скрипт, раз помочь некоему ;(

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вы вставили отформатированное содержимое.   Удалить форматирование

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Похожие публикации

    • Автор: metrpro
      Давно не писал, но наболело. У меня, пожалуй, тут самый богатый опыт использования ЯН.Парсера, поэтому за последний год уловил еще три глюка (плюс один старый), которые хотелось бы устранить:
      1. При импорте изображений из загружаемого фида не импортируются картинки формата png - выдается ошибка. Причем это не зависит от того, накладываете вы водяной знак или нет. 
      2. Если у вас в базе улиц есть, скажем, "Победы улица" в двух разных городах - предположим в Москве за id №100 в Справочнике и в Питере за id №200, то при импорте объявления с этой улице в Питере в самом объявлении ему привяжется улица №100 в Москве, выше расположенная в справочнике с меньшим id - т.е. при импорте перебираются только названия улиц, без привязки к городам.
      3. При применении ассоциации входящих типов для категорий объявлений в фиде не учитывается тип аренда/продажа - т.е. если у вас в фиде есть категория типа Аренда - Коммерческая - Office и вы честно ставите новый тип "Office" с переадресацией в ваш соответствующий раздел по аренде офисов, то как только парсер встретит в фиде категорию Продажа - Коммерческая - Office, то также определит объявление в аренду офисов, потому что категория Office уже привязана к ней, а то что тип объявления при этом Продажа остаётся неучтенным.
      4. Ну я об этом писал и мы с Димой обсуждали - новые генерируемые улицы не привязываются к городам, даже если в самих импортируемых объявлениях города прописаны и в базе уже есть.
      У меня все.
    • Автор: Владимир Смирнов
      Здравствуйте! В каком файле хранятся пароли к субд?
       
    • Автор: Chernetskiy
      Вопрос чайника: Как создать дополнительный справочник в CMS Sitebill? 
       
      Ситуация следующая: В CMS необходимо создать справочник "Районы", подчиненный для справочника "Регионы", соответственно "Города" (населенные пункты) должны быть подчинены "Районам". Районов предполагается не одна сотня, по ним будет работать поиск и простым вариантом Select_box не обойтись.
       
      Кроме того, есть интерес к дополнительным (аналогичным) справочникам "Округа" (для Москвы) "Шоссе" и "Станции ж/д", которые должны быть привязаны к "Регионам", для удобства использования и организации поиска. 
       
      Данные справочники предпочтительны и в организации выгрузки файлом XML, т.к. в нашем регионе встречается по нескольку населенных пунктов с одинаковым названием в каждом районе. В отсутствии указания на район региона, объявление по наименованию населенного пункта без учета района может быть автоматически переброшено в другой район, который первым подходит по списку подбора на сторонних рекламных площадках.
       
      Объясните, желательно с видео