//Используются таблицы
//ARTICLES
//LINK_GRA_ART
//GRAPHICS
//SUPPLIERS
//
$setting = parse_ini_file("..\setting.ini");
ini_set('memory_limit', '2048M');
set_time_limit(0);
//Папка выгрузки
$upload_folder = 'J:/ImgTecDoc032015_original/';
if(!file_exists($upload_folder)) mkdir($upload_folder, 0700);
//Номер поставщика в таблице SUPPLIERS (начальная позиция)
$id_postav = '1';
//Номер последнего поставщика в таблице SUPPLIERS (см последнюю запись SUP_ID)
//03.2015 - 11667
//01.2016 - 11892
//$id_postav_end = $id_postav;
$id_postav_end = '11892';
// Соединяемся, выбираем базу данных
$link = mysql_connect($setting['server_php'], $setting['user_php'], $setting['pass_php'])
or die("Could not connect : " . mysql_error());
mysql_select_db($setting['base_php']) or die("Could not select database");
// Выполняем SQL-запрос получение ссылок на файлы JP2
do {
$query = "SELECT ARTICLES.ART_ARTICLE_NR,
SUPPLIERS.SUP_BRAND,
GRAPHICS.GRA_TAB_NR,
GRAPHICS.GRA_SUPPLIER_NR,
GRAPHICS.GRA_ID,
GRAPHICS.GRA_LNG_ID,
LGA_SORT
FROM ARTICLES
INNER JOIN LINK_GRA_ART ON LINK_GRA_ART.LGA_ART_ID = ARTICLES.ART_ID
INNER JOIN GRAPHICS ON GRAPHICS.GRA_SUP_ID = ARTICLES.ART_SUP_ID AND GRAPHICS.GRA_ID = LINK_GRA_ART.LGA_GRA_ID
INNER JOIN SUPPLIERS ON SUPPLIERS.SUP_ID = GRAPHICS.GRA_SUP_ID
WHERE GRAPHICS.GRA_DOC_TYPE = 4 AND
SUPPLIERS.SUP_ID = $id_postav;";
$result = mysql_query($query) or die("Query failed : " . mysql_error());
$id_postav = $id_postav + '1';
while ($csv = mysql_fetch_array($result, MYSQL_ASSOC)){
// Функция добавления "0" в GRA_LNG_ID (язык документа pdf) до трех символов 16=>016, 6=>006 и т.д.
$csv['GRA_LNG_ID']=str_pad($csv['GRA_LNG_ID'], 3, "0", STR_PAD_LEFT);
// Вид ссылки на скачивание JP2-файлов (третий квартал 2014 года) http://update.tecdoc.net/webdownload/einbau/32014/6/00060020802255.PDF
// Вид ссылки на скачивание JP2-файлов (первый квартал 2016 года) http://toc-cdn.tecdoc.net/webdownload/Bilder/12016/432/04320089101255.JP2
//$pdfs .='http://update.tecdoc.net/webdownload/Bilder/32015/' . $csv['GRA_SUPPLIER_NR'] . '/'. $csv['GRA_ID'] .'' . $csv['GRA_LNG_ID'] .".JP2 \r\n";
// Создаем папку поставщика
if(!file_exists($upload_folder.$csv['GRA_SUPPLIER_NR'])) mkdir($upload_folder.$csv['GRA_SUPPLIER_NR'], 0700); // Стандарт
//if(!file_exists($upload_folder.$csv['SUP_BRAND'])) mkdir($upload_folder.$csv['SUP_BRAND'], 0700); // BRAND/ARTICLE
//Приведем номер номенклатуры к буквенночисовому виду
$remove = array ('/', ' ', '-', '.', ',', '_'); //что удалить в номере номенклатуры
$replase = array ('\'', '*'); // что заменить в номере номенклатуры
$csv['ART_ARTICLE_NR']=str_replace($remove, "", $csv['ART_ARTICLE_NR']); // удаляем
$csv['ART_ARTICLE_NR']=str_replace($remove, "#", $csv['ART_ARTICLE_NR']); // заменяем
//Поскольку одна иллюстрация может быть применена к разной номенклатуре, проверяем существование иллюстрации
if(!file_exists($upload_folder.$csv['GRA_SUPPLIER_NR'].'/'.$csv['GRA_ID'].$csv['GRA_LNG_ID'].'.jpg')){
//Доступ к серверу TecDoc (1.2016 tcd2 / 0kt30h)
$username = 'tcd2';
$password = 'Prptkgk2';
$context = stream_context_create(array('http' => array('header' => "Authorization: Basic " . base64_encode("$username:$password"))));
$file = file_get_contents('http://webcat-cdn.tecdoc.net/webdownload/Bilder/32015/'.$csv['GRA_SUPPLIER_NR'].'/'.$csv['GRA_ID'].$csv['GRA_LNG_ID'].'.JP2', false, $context);
$file_tmp = fopen($_SERVER['DOCUMENT_ROOT'] .'/TECDOC/getfiles/image.jp2', 'wb');
fputs($file_tmp, $file);
fclose($file_tmp);
//print_r($csv['ART_ARTICLE_NR']);
//header('Content-type: image/jpeg');
$image = new Imagick($_SERVER['DOCUMENT_ROOT'] .'/TECDOC/getfiles/image.jp2');
$image->setImageFormat('jpg');
$image->setCompressionQuality(80);
//echo $image;
// Массив что заменять в номере номенклатуры
// Функция замены в номере номенклатуры не нужных символов
// Иллюстрация по пути BRAND/ARTICLE
//file_put_contents ($upload_folder.$csv['SUP_BRAND'].'/'.$csv['ART_ARTICLE_NR'].'_'.$csv['LGA_SORT'].'.jpg', $image);
// Иллюстрация по стандартному пути TecDoc GRA_SUPPLIER_NR/GRA_ID/GRA_LNG_ID
file_put_contents ($upload_folder.$csv['GRA_SUPPLIER_NR'].'/'.$csv['GRA_ID'].$csv['GRA_LNG_ID'].'.jpg', $image);
unlink('image.jp2');
}
}
}
while($id_postav < $id_postav_end);