Картинки в папках согласно пути на сайте

Тема в разделе "Скачивание картинок и файлов", создана пользователем Пётр_Викторович, 27 фев 2014.

  1. Пётр_Викторович

    Пётр_Викторович New Member Пользователи

    Регистрация:
    19 фев 2014
    Сообщения:
    19
    Такая задачи:
    При парсенги картинок автоматически создаются папки как на сервере и в них распределяются картинки.
    Т.е. мы имеем на сайте картинку
    HTML:
    src="/images/thumbnails/2/250/350/BORK_VKM_1440_[DVD].jpg"
    и надо, что бы автоматически создавались папки на диске
    HTML:
    \images\thumbnails\2\250\350
    куда бы сохранялась картинка BORK_VKM_1440_[DVD].jpg
    А на другой странице может быть ссылка
    HTML:
    src="/images/thumbnails/5/550/550/BORK_1111.jpg"
    соответственно должны создаваться папки
    HTML:
    \images\thumbnails\5\550\550
    куда будет сохранена картинка BORK_1111.jpg
    И т.д.
     
    Последнее редактирование: 28 фев 2014
  2. Root

    Root Администратор Администратор

    Регистрация:
    10 мар 2010
    Сообщения:
    14.818
    Город:
    Барнаул
    Здравствуйте.

    Используйте макрос шаблона вывода [IMAGESPATH]<CD_GRAN_1!>[/IMAGESPATH], где <CD_GRAN_1!> - нужная папка сохранения в формате \images\thumbnails\2\250\350 (это к примеру).
    Недостаток этого макроса в том, что он применяется сразу ко всем картинкам документа при парсинге каждой web-страницы.

    Если нужно присвоить уникальный путь каждой картинке В ПРЕДЕЛАХ ОДНОГО web-документа, то используйте макрос DOWNLOADFILE для загрузки картинки, а перед ним вставляйте макрос DFN (для присвоения каждой пути и имени).

    Если у вам будут еще вопросы - пожалуйста, обращайтесь. Постараюсь помочь...

    С уважением к вам, Сергей.
     
  3. Пётр_Викторович

    Пётр_Викторович New Member Пользователи

    Регистрация:
    19 фев 2014
    Сообщения:
    19
    К сожалению я не знаю какой будет путь на следующий странице, а их всего под 2000!
    Я думал сделать таким образом [IMAGESPATH]<CD_GRAN_2!>[/IMAGESPATH]<NIMG><CD_GRAN_1!></NIMG> , где <CD_GRAN_2!> это адрес картинки, который будет создавать путь. Но как удалить название картинки в конце? т.к. <CD_GRAN_2!> выдает \images\thumbnails\5\550\550\BORK_1111
    Если применить в границе парсинга {skip}.jpg , то он оставляет только images от всего пути.
     
  4. Root

    Root Администратор Администратор

    Регистрация:
    10 мар 2010
    Сообщения:
    14.818
    Город:
    Барнаул
    То и подразумевалось, что нужно использовать <CD_GRAN_2!> =)

    Удалять нужно макросом шаблона вывода BEFORE_IMG_REPLACE (он срабатывает до загрузки картинок):
    Поясняю:
    Конструкция /{skip}| удалить все от конца до первого символа /

    С уважением к вам, Сергей.
     
  5. Пётр_Викторович

    Пётр_Викторович New Member Пользователи

    Регистрация:
    19 фев 2014
    Сообщения:
    19
    Но конструкция
    Скрытое содержимое:
    **Скрытое содержимое: доступно при наличии 1 постов.**
    не срабатывает

    В данном случае [BEFORE_IMG_REPLACE(/{skip}|)] присваевается к пути создаваемым [IMAGESPATH]
     
  6. Root

    Root Администратор Администратор

    Регистрация:
    10 мар 2010
    Сообщения:
    14.818
    Город:
    Барнаул
    Простите, ошибся.

    Попробуйте так:
    Вместо BEFORE_IMG_REPLACE нужно использовать FIRST_REPLACE в данном случае...

    PS: Всегда смотрите лог выполнения функций (внизу окна предпросмотра парсинга)
     
  7. Пётр_Викторович

    Пётр_Викторович New Member Пользователи

    Регистрация:
    19 фев 2014
    Сообщения:
    19
    Все сработало. Спасибо!!
     
  8. Root

    Root Администратор Администратор

    Регистрация:
    10 мар 2010
    Сообщения:
    14.818
    Город:
    Барнаул
    Пожалуйста, обращайтесь...
     
  9. Пётр_Викторович

    Пётр_Викторович New Member Пользователи

    Регистрация:
    19 фев 2014
    Сообщения:
    19
    Возникла новая проблема с повторяющимися границами.
    Повторяющиеся граница задана между

    и
    в Настройках повторяющихся границ прописано:

    На выходе мы получаем:

    Т.е. он берёт путь первой картинки и создает папки не только для первой картинки, но и точно такой же для второй, в то время как для второй нужен другой путь.

    Как сделать так, что бы для каждой картинки он создавал свой индивидуальный путь при использование повторяющихся границ?
     
  10. Root

    Root Администратор Администратор

    Регистрация:
    10 мар 2010
    Сообщения:
    14.818
    Город:
    Барнаул
    Я вам писал об этом в первом же ответе:
    И что делать я вам тоже написал в первом же ответе:
    Вы же умолчали, что у вас с 1 страницы будут картинки сохраняться по разным папкам. =)
     
  11. Root

    Root Администратор Администратор

    Регистрация:
    10 мар 2010
    Сообщения:
    14.818
    Город:
    Барнаул
    Вот вам примерчик:
    По сути вам просто заменить <NIMG>[VALUE]</NIMG> на <DOWNLOADFILE>[VALUE]</DOWNLOADFILE> и
    [IMAGESPATH][FIRST_REPLACE(/{skip}|)][VALUE][/FIRST_REPLACE][/IMAGESPATH] на
    [DFN][FIRST_REPLACE(/{skip}|/)][VALUE][/FIRST_REPLACE][/DFN]
     
  12. Root

    Root Администратор Администратор

    Регистрация:
    10 мар 2010
    Сообщения:
    14.818
    Город:
    Барнаул
    Да что там, нате вам готовенькое:
    Обращайтесь!
     
  13. Пётр_Викторович

    Пётр_Викторович New Member Пользователи

    Регистрация:
    19 фев 2014
    Сообщения:
    19
    Но в данном случае имена файлов переименовываются в file.jpg , file_1.jpg , file_2.jpg и т.д.
    Если убрать макрос FIRST_REPLACE , то получается почти как надо, только к имени файла добавляется .jpg (BIMATEK_D-1245VKP.jpg.jpg)
    Сделал так
     
  14. Root

    Root Администратор Администратор

    Регистрация:
    10 мар 2010
    Сообщения:
    14.818
    Город:
    Барнаул
    :yes: вы молодец!
     
  15. Пётр_Викторович

    Пётр_Викторович New Member Пользователи

    Регистрация:
    19 фев 2014
    Сообщения:
    19
    В данном случае минусом
    является то, что он найдя повторный фаил (фотографию) не перезаписывает, а переименовывает (добавляет в конце число).
    Мне было бы удобно, что бы в данном случае он просто перезаписывал фотографию. Может это есть где-то в настройках, но я не нашел.
     
  16. Root

    Root Администратор Администратор

    Регистрация:
    10 мар 2010
    Сообщения:
    14.818
    Город:
    Барнаул
    Ссылки недоступны для гостей
    :bow:
     

Поделиться этой страницей