Показать сообщение отдельно
Старый 03.05.2013, 13:04   #1
dmartynenko
Senior Member
 
Аватар для dmartynenko
 
Регистрация: 20.07.2007
Адрес: Беларусь, Минск
Сообщений: 957
Отправить сообщение для dmartynenko с помощью ICQ
Question Постобработка файлов после upload через BE/TCE

Проблема такого рода. При использовании стандартного механизма прикрепления картинок и прочих файлов через поле типа ['columns'][field name]['config'] / TYPE: "group" все картинки попадают в одну папку tx_myext/upload.

Сейчас планируем расширение, где будет как минимум 25000 записей, в каждой в среднем по 2-3 картинки. Использовать DAM тут накладно - процесс добавления картинок сильно усложняется. С FAL пока тоже времени разбираться нет (и не думаю что он упростит задачу). Поэтому будет простой upload.

Если это все грузить все в одну папку, то получиться очень много файлов в одной папке. Практика мне подсказывает что результатом будет замедление всех файловых операций.

Разработчики TYPO3 как-то не подумали над этим моментом. Например у нас на одном сайте в uploads/ 15000 файлов, в uploads/pics/ 5000, а в typo3temp/pics/ - 63000 файлов!
FTP клиент, что бы загрузить список файлов из typo3temp/pics/, вытягивает 8.5 Мб данных.

Очевидным решением является разбиение на подпапки. Например, для typo3temp/pics/0a0aed6b68.jpg делаем такую структуру:
typo3temp/pics/0a/0a/ed6b68.jpg
или
typo3temp/pics/0a/0a/0a0aed6b68.jpg

Так вот два вопроса:
1. Как при загрузке файла оригинальное имя заменить например на md5(от имени) и вместо uploads/tx_myext/Zeljonyi_dvor_khrushchjovki22.jpg получить uploads/tx_myext/fd7e6d72c9.jpg

2. И как потом это разнести на подпапки. Например uploads/tx_myext/fd7e6d72c9.jpg преобразовать в uploads/tx_myext/fd/7e/6d72c9.jpg
или разнести по подпапкам записей: uploads/tx_myext/[record_uid]/fd7e6d72c9.jpg

dmartynenko вне форума   Ответить с цитированием