Спокуха, народ) если не можете сами - берите ЛЮБОГО пхп кодера и объясните ему задачу.
Для начала чтобы было понимание КАК это работает.
В опенкарте очень правильно сделано то, что загруженое изображение прописывается в базу, т.е. если загрузил по фтп -- оно не подключится, его нужно "доткнуть" в админке. Процесс "подключения" -- это ничто иное как прописывание 1 записи в базу. В этом нет никакой особой уличной магии. Если это ОСНОВНОЕ изображение товара оно пишется в таблицу префикс_product в поле image, если это дополнительные изображения -- они пишутся в префикс_product_image. Формат записи у них аналогичный, это ОТНОСИТЕЛЬНЫЙ путь, начинающийся с data/ data находится внутри images. Впрочем как не трудно догадаться относительность пути начинается с images. Дальше когда происходит обращение к товару, вызывается функция генерации от него всяких превьюшек, которые складываются в кеш, но в базе о них ни слова. Это очень грамотное решение которое существенно упрощает жизнь всем.
В теории это вся премудрость.
Теперь внимание. Если вам нужно ПАЧКОЙ перенести изображения -- лучше написать примерно такой скрипт
<?php
$host="localhost";
$user_db="какой-то юзЭр";
$pass_db="пароль выдал хостер мы не знаем какой";
$dbase="и базу тоже он создал как называется не знаем";
$link = mysql_connect($host, $user_db, $pass_db);
mysql_select_db($dbase);
mysql_query("SET NAMES 'utf8'");
$id_imgs = mysql_query("SELECT `product`.`product_id`, `product_to_category`.`category_id`, `product`.`image` FROM `product` INNER JOIN `product_to_category` ON `product`.`product_id` = `product_to_category`.`product_id`");
$i = 0;
$j = 0;
while ($row = mysql_fetch_assoc($id_imgs)) {
$work_path = '/home/ололололо-это_имя_моего_юзера_у_меня_vds/data/www/сайтеГ.ru/image/';
$work_dir = 'data/';
$subdir = 'cat_'.$row['category_id'];
$pic_filename = str_ireplace("data/","", $row['image']);
if(!is_dir($work_path.$work_dir.$subdir)) {
mkdir($work_path.$work_dir.$subdir, 0777);
}
if(rename($work_path.$work_dir.$pic_filename, $work_path.$work_dir.$subdir.'/'.$pic_filename)) {
$j++;
if(mysql_query("UPDATE `базо_моя_ненаглядная`.`product` SET `image` = '".$work_dir.$subdir."/".$pic_filename."' WHERE `product`.`product_id` = '".$row['product_id']."';")) {
$i++;
}
}
}
mysql_close($link);
echo "Copy photos: ".$j."\n Updated products: ".$i."\n";
?>
Вот что-то вроде такого скрипта перенесет ваши фотографии по подпапкам по шаблону cat_ид-категории/ и перезапишет пути в базе.
На самом деле я этот скрипт выложил для примера что массовые операции лучше делать не через файлменеджер, который не работает в ИЕ 6-м или еще в каком нибуть нетскейпе, а по нормальному, на сервере. На 5 тыщ товаров он у меня отработал за меньше чем за 10 секунд (правда я запускал его руками и с консоли, вдс-ка же).
Вобщем любой мало мальски грамотный кодер подручными скриптами которые пишутся за 30-40 минут решит все ваши проблемы с пакетными переносами легко и быстро)
Удачи!