Перейти к содержанию
aka75

Переменовать массово картинки(изображени)

Рекомендуемые сообщения

Камрады кто нибудь встречал модуль массового изменения имени картинок. То есть что бы они приобретали название товара,категории,блогу к которому привязаны ?

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


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

А изначально какое имя у них?

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


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

Не имеет значение какое..

Узнать бы цель, и так ли это важно..

 

Такой модуль существует если чо

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


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

Не имеет значение какое..

Узнать бы цель, и так ли это важно..

 

Такой модуль существует если чо

Просто хочу все картинки нормально расфасовать по  папкам, а то сейчас там полная фигня в названиях изображений (цифры , иероглифы, точки ,тире:-))

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


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

aka75,
1. создаете запросы в БД на те таблицы, где имеются пути к изображениям
2. Подключаете библиотеку urlify

3. В цикле перебирает все фотографии, назначая им новую территорию и красивое название файла после обновляете в таблице путь к фото.

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


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

Не имеет значение какое..

 

Если менять при помощи Free commaner (или Total Commander), то можно делать массовую замену по маске. В этом случае имеют значение нынешние имена файлов.

 

И, да, про цель я не спросил, хотя и подумал, что если речь о загрузке товара и на них есть ссылки, то можно воспользоваться модулем Автоматическая обработка прас-листов. Через него можно картинки импортировать и при этом имена поменять по заданному шаблону.

 

Изменено пользователем SiteMix

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


Ссылка на сообщение
Поделиться на другие сайты
# Принцип кода таков, писал на скорую руку для ознакомительных целей
# могут быть ошибки, так как не проверял в работе
# https://github.com/jbroadway/urlify

$query = $this->db->query('SELECT `product_image_id`, `image` FROM `' . DB_PREFIX . 'product_image` WHERE NOT `image` = ""');

if ($query->num_rows) {
	/* Получаем массив доп изображение товара */
	foreach ($query->rows as $row) {
		$filename = DIR_IMAGE . $row['image'];
		/* Проверяем, имеется ли картинка */
		if (is_file($filename)) {		
			$extension = pathinfo($row['image']);
			/* Делаем навзниае фото красивым, если нужно вписать название товара, тогда выше в запросе, 
				нужно Джойнить таблицу product_descrition и заменить $extension['filename'] на $row['name'] к примеру
			*/
			$newFilename = URLify::filter($extension['filename']);
			$newImage    = $extension['dirname'] . '/' . $newFilename . '.' . $extension['extension'];
						
			/* копируем фотку с новым названием */
			@copy($filename, DIR_IMAGE . $newImage);
			/* удаляем старую фотку */
			@unlink($filename);
			/* Обновляем путь к фото */
			$this->db->query('UPDATE `' . DB_PREFIX . 'product_image` SET `image` = "' . $this->db->escape($newPath) . '" WHERE `product_image_id` = ' . (int)$row['product_image_id']);
		}
	}
}

 

  • +1 1

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


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

# Принцип кода таков, писал на скорую руку для ознакомительных целей
# могут быть ошибки, так как не проверял в работе
# https://github.com/jbroadway/urlify

$query = $this->db->query('SELECT `product_image_id`, `image` FROM `' . DB_PREFIX . 'product_image` WHERE NOT `image` = ""');

if ($query->num_rows) {
	foreach ($query->rows as $row) {
		$filename = DIR_IMAGE . $row['image'];
		
		if (is_file($filename)) {		
			$extension = pathinfo($filename);
			
			$newFilename = URLify::filter($extension['filename']);
			$newImage    = $extension['dirname'] . '/' . $newFilename . '.' . $extension['extension'];
			$newPath     = ltrim($newImage, DIR_IMAGE);
			
			@copy($filename, DIR_IMAGE . $newImage);
			
			$query = $this->db->query('UPDATE `' . DB_PREFIX . 'product_image` SET `image` = "' . $this->db->escape($newPath) . '" WHERE `product_image_id` = ' . (int)$row['product_image_id']);
		}
	}
}

 

Спасибо , попробую

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


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

Не забыть подключить urllify

 

Приведенный код  - меняет кирилические имена на латиницу

 

Для других метлдов, нужно, как там написано, джойнить таблицу _description

 

Метод годится для допкартинок

для основной картинки тоже самое с табл product

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


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

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.