Jump to content

Скрипт работы с фотками


Recommended Posts

Задача такая.

 

Есть папка с фотками.

Надо из них сделать фотки для престошопа.

 

Есть у кого-нибудь скрипт, которому можно передеть id товара и он сделает привью и фотки и распихает по папкам ?

Link to comment
Share on other sites

а, ок, забыл.

а как именованы оригинальные изображения которые ты собрался обрабатывать скриптом, возможна однозначная идентификация изображения как принадлежащего конкретному товару?

Link to comment
Share on other sites

Да, все возможно

Есть база в которой есть Артикул (4 цифры), id товара, под которым он храниться в базе ps_products

На харде есть папка под номер артикула(4 цифры), в ней фотки

1.jpg

2.jpg

и т.д.

 

Хотел сделать стандартными методами PS, но с набега разобраться хз :)

Link to comment
Share on other sites

а, ну идентификаторы есть, дальше можно

а) переименовать файлы по шаблону престы, занести имена в базу и скопировать в img/p , потом использовать стандартные возможности админки и сконвертить все это дело

 

б) стандартными методами PS, но сходу названия не назову, нет под рукой

Link to comment
Share on other sites

Сделал :)

 

Если что, то вам понадобятся

 

include("config/config.inc.php");

include("classes/Image.php");

include("AdminImport.php");

 

Сама логика такая

читаем файлы картинок в папке исходника {

$url="$folder/$file"; // откуда берем файл
$image = new Image();
$image->id_product = $product_id;
$image->position = Image::getHighestPosition($product_id) + 1;
$image->cover=$cover;
if ($cover) $cover=false;
$image->legend = $product_name;
if (($fieldError = $image->validateFields(UNFRIENDLY_ERROR, true)) === true AND ($langFieldError = $image->validateFieldsLang(UNFRIENDLY_ERROR, true)) === true AND $image->add()){
if (!AdminImport::copyImg($product_id, $image->id, $url)){
echo displayError('Error copying image: ').$url;
}
}
else{
echo $image->legend[$defaultLanguageId].(isset($image->id_product) ? ' ('.$image->id_product.')' : '').' '.Tools::displayError('Cannot be saved');
echo  ($fieldError !== true ? $fieldError : '').($langFieldError !== true ? $langFieldError : '').mysql_error();
}
}
}

 

Как-то так.

Link to comment
Share on other sites

×
×
  • Create New...