prostogorod |
|
||
---|---|---|---|
Пишу скрипт обработки xml-файла. С категориями и почти с товарами разобрался. Осталось реализовать прикрепление изображение к товарам. Вернее дошел до того, что все изображения товаров сохраняю на сервер по url. Но я хочу привязать к модулю Files.
P.S. Хочу учесть, один нюанс. Товары уже загружены, теперь нужно прикрепить изображение к ним. Я изначально разделил обработку на добавление категорий, потом товаров и теперь изображений. Вообще вся задача обработки xml-файла ресурсоёмкая. Что еще посоветуете сделать, чтобы процесс ускорить и минимизировать ресурсы сервера? В том числе и при обработке изображений? |
|||
This post was edited by Alex300 (2025-02-11 23:42, 5 months ago) |
Alex300 |
|
||||
---|---|---|---|---|---|
Судя по коду Вы загружаете изображение в память, а потом записываете на диск. Можно использовать функцию
Сэкономите память не загружая в нее данные, которые не собираетесь обрабатывать. Фактически файл при скачивании все равно будет загружен в память, но при сохранении на диск память будет освобождена. И это не расходует память, выделяемую скрипту на выполнение. // Проверяем, сохранилось ли изображение if (file_exists($fullImagePath)) Это лишнее. Функция PHP в режиме командной строки как правило не имеет ограничений по памяти и времени выполнения. Этот компонент позволяет запускать Cotonti из командной строки. Не накапливайте в памяти ненужные данные. После обработки каждого товара в памяти не должно оставаться "мусора". Ненужные более данные должны быть удалены или перезаписаны следующим товаром.
Модуль файлов используется в основном для удобной загрузки файлов и привязки их к объектам (страницы, посты, товары и т.п.) через веб интерфейс и для удобного вывода файлов в веб интерфейсе. Загрузка у Вас автоматизирована. Если вы не собираетесь выводить каталог товаров в браузер - особого смысла нет.
Если он все же нужен, у него нет отдельного метода для сохранения файла, который существует локально (надо бы сделать). Но можно написать примерно так:
Есть миры, не здесь, там, где небеса горят, и моря засыпают, и реки дремлют; люди сделаны из дыма, а города – из песен. Где-то опасность, где-то несправедливость, даже где-то остыл чай. Идем Эйс, у нас много работы!...
...Sorry for my english... Бесплатные расширения для Cotonti: https://lily-software.com/free-scripts/ |
|||||
This post was edited by Alex300 (2024-11-09 07:29, 8 months ago) |
prostogorod |
|
||||||
---|---|---|---|---|---|---|---|
Спасибо! Буду пробовать. Но у меня сразу ошибка:
Я так понимаю нужно еще дополнительно класс File подключить? Такого подключения не достаточно?
И еще вдогонку вопрос, по коду не понял. Для каждого товара, может быть одно или несколько изображений. Я это учитываю, и у меня переменная - $id_attach, которая считает количество изображений для каждого товара. Как эту переменную учитывать, на примере Вашего кода?
|
|||||||
This post was edited by prostogorod (2024-11-09 19:57, 8 months ago) |
Alex300 |
|
||||
---|---|---|---|---|---|
Забыл написать. В начале php-файла надо добавить:
Примерно так:
Несколько Есть миры, не здесь, там, где небеса горят, и моря засыпают, и реки дремлют; люди сделаны из дыма, а города – из песен. Где-то опасность, где-то несправедливость, даже где-то остыл чай. Идем Эйс, у нас много работы!...
...Sorry for my english... Бесплатные расширения для Cotonti: https://lily-software.com/free-scripts/ |
prostogorod |
|
||
---|---|---|---|
Требовало, добавил еще
Спасибо за помощь! Заработало. Файлы прикрепляет, теперь нужно осознать, что с этим можно еще сделать. |
|||
This post was edited by prostogorod (2024-11-10 22:54, 8 months ago) |