Как импортировать записи типа "изображение" из файлов, хранящихся на диске. Версия КБ -локальная.
Остальные поля импортируются без проблем из файла .csv. Но потом добавлять в каждую запись картинку через редактирование утомительно.
Существует ли какой-нибудь скрипт?
2
Импорт изображений
Автор RYM, 20 июля 2015 11:31
Сообщений в теме: 5
#1
Отправлено 20 Июль 2015 - 11:31
#2
Отправлено 20 Июль 2015 - 13:21
Нет, боюсь стандартными инструментами импорта это пока не сделать. Теоретически можно написать доп.действие по автоматической загрузке файлов, используя функции работы с файлами, описание функций можно найти в темах на форуме.
#3
Отправлено 21 Июль 2015 - 01:06
Можно написать вычисление, срабатывающее при условии Импорт в таблице. По идее, оно отработает для каждой записи, которая была импортирована.
Творческая группа "ТАВР".
www.TAVR.pro Художественная ковка, металлоконструкции.
www.СтолМет.рф Складные столы, стулья и системы для их хранения
#4
Отправлено 28 Октябрь 2015 - 10:56
тоже встала задача залить в таблицу кучу файлов, стандартный импорт не позволяет. удивился конечно такой недоработке, стал думать...
в справке и на форуме решения нет, попробовал несколько вариантов, в итоге остановился на импорте через крон.
все просто:
- указываем таблицу и поле
- формируем массив с соответствием id записи - путь к файлу
- нажимаем выполнить
- загружает как 1 так и несколько файлов в поле
пользуйтесь:
в справке и на форуме решения нет, попробовал несколько вариантов, в итоге остановился на импорте через крон.
все просто:
- указываем таблицу и поле
- формируем массив с соответствием id записи - путь к файлу
- нажимаем выполнить
- загружает как 1 так и несколько файлов в поле
пользуйтесь:
//настройки: $s_t = 310; // таблица куда пишем $s_f = 5200; //поле куда пишем, только цифры // генерируем массив. можно легко при помощи excel // или дописать чтоб брался из файла. по мне так быстрее. //формат: //$data['id записи в таблице'][] = 'путь от корня сайта или url'; $data['1'][] = '/home/*******/public_html/testf/1.jpg'; $data['2'][] = '/home/*******/public_html/testf/2.jpg'; $data['3'][] = '/home/*******/public_html/testf/3.jpg'; $data['4'][] = '/home/*******/public_html/testf/4.jpg'; foreach($data as $k => $v){ foreach($v as $v1){ $data_f = file_get_contents($v1); if($data_f === false){ echo "ошибка получения файла - ".$v1." для строки id=".$k; }else{ $data_f_n = basename($v1); save_data_file($s_f, $k, $data_f_n, $data_f); $data_l = data_select_array($s_t, "`id`=", $k); if (strlen($data_l['f'.$s_f]) > 0){ data_update($s_t, array("f".$s_f => $data_l['f5210']."\r\n".$data_f_n), "`id`=", $k); }else{ data_update($s_t, array("f".$s_f => $data_f_n), "`id`=", $k); } } } }
#5
Отправлено 28 Октябрь 2015 - 12:25
Цитата
стандартный импорт не позволяет. удивился конечно такой недоработке
Согласен, недоработка, сам столкнулся когда делал импорт с сайта для одного из клиентов. Поэтому надеюсь пропишем эту возможность стандартно. Можете направить предложение на доработку через программу, если таковых будет много, это может поднять приоритет данной задачи.
#6
Отправлено 13 Январь 2017 - 12:25
А вот для внешнего скрипта оформления карточки сотрудника можно написать код импорта изображения в базу данных из файла вручную через INPUT, чтобы не колдовать полдня?
Количество пользователей, читающих эту тему: 2
0 пользователей, 2 гостей, 0 анонимных