Вход • Регистрация

Как проверить на существование такого файла перед загрузкой?

  • 29 апреля 2019 г.
  • Имеется в виду программно, перед тем, как сделать $this->diafan->_images->upload(. Это не имеет смысла при загрузке из админки, но при парсинге... Разумеется, костыль какой-нибудь придумать я могу, но может, кто-нибудь знает как сделать это поизящней? Название файла известно и оно одинаковое каждый раз.
    • 29 апреля 2019 г.
    • В процессе парсинга (вы хотите сравнить с теми что в этом процессе собрали?)
      или с тем что парсите - и уже загружены на сайт?
  • 29 апреля 2019 г.
  • С тем, что парсю и уже загружены на сайт. То есть чтобы когда парсишь много раз слабоотличающиеся данные, не создавать множество копий одних и тех же картинок для каждого товара
    • 29 апреля 2019 г. , редакция: 29 апреля 2019 г.
    • Фаил может называться одинаково а содержание разное - это вы так же хотите сравнивать?

      И вкурсе ли вы? Что если парсить нормальным софтом - вам не придется изобретать велосипед? (Во время парсинга утилиты не сравнивают название файла а сравнивают источник всю ссылку и если она одна и та же - оставляют первый фаил, но есть разные настройки...)

      В итоге : предположим что есть Шторы с картинкой образца цвета и рисунка и она одна а товаров по размеру 5шт , то сохранится после парсинга (всех этих товаров) один фаил и при импорте штатными средствами диафан скачает ее и ко всем товарам где есть этот фаил у товаров - просто создаст ссылку на один загруженный фаил.
      • 30 апреля 2019 г.
      • Цитата
        то если парсить нормальным софтом
        - каким именно?
        Цитата
        при импорте штатными средствами
        - это какими?
        • 30 апреля 2019 г.
        • 1) Нормальными - очень мощная штука "datacol" это как пример есть и альтернативы... погуглите...

          2) Импорт- Экспорт (я так понял что вы о товарах....)
          • 30 апреля 2019 г.
          • Как по мне content downloader для этих целей самое то
  • 29 апреля 2019 г.
  • Там "проблема" в том, что диафан перед названием каждой фотографии ставит её номер сортировки... Его можно как-то извлекать, но это долго и грубо, а хочется чего-то проще и быстрее. Может, я просто не могу сообразить и есть какое-то совсем простое решение...
    • 29 апреля 2019 г.
    • Только имя вас интересует?
      Тогда при импорте создайте текстовое поле как характеристику и продублируйте имена файлов
      После импорта файлы изменятся а по полю с прежним именем вы сможете найти тот первоисточник имени...

      Все просто)))
      • 01 мая 2019 г.
      • Если использовать импорт-экспорт - согласен. Но моя задача немного другая. Я неправильно написал - там не совсем парсинг, там синхронизация по api с bpm, лень было писать об этом сначала, не думал, что это будет важно. И, соответственно, всё приходится писать самому. И вот картинки для товаров я закачиваю при помощи конструкции $this->diafan->_images->upload(. Но она (конструкция) не проверяет на уникальность файлов. В результате, при каждой синхронизации, каждая картинка закачивается заново, получается множество копий одной и той же картинки для каждого товара. А хочется чтобы можно было проверить - если такая картинка уже есть - не закачивать её заново.
        Пока писал - придумал как решить эту проблему. Надо запоминать "внешний" путь и проверять по этому внешнему пути - ведь он-то одинаковый!
        • 01 мая 2019 г. , редакция: 01 мая 2019 г.
        • Цитата
          Во время парсинга утилиты не сравнивают название файла а сравнивают источник всю ссылку и если она одна и та же - оставляют первый фаил, но есть разные настройки.


          Вам Дмитрий об этом выше написал
  • 29 апреля 2019 г.
  • Ну например взять папу original, загнать массив где ключи это имена файлов, а значения это md5 от этих файлов, ну и при каждой итерации проверять md5 текущего файла на наличии в этом массиве всех md5.
    • 30 апреля 2019 г.
    • Согласен, это кардинально, но при парсинге больших объёмов потребляет слишком много ресурсов.

Новости

  • 18 июня
  • В сборке большое обновление demo-шаблона, дополнительная защита от спама, улучшение YML-импорта и еще много важного и интересного.
  • 24 апреля
  • В новой сборке совершили революцию в структурировании кастомизированной информации в шаблонах, добавили авторегистрацию пользователей, усовершенствовали защиту от спама, актуализировали накопительную скидку, а также улучшили производительность и стабильность работы системы.
  • 12 января
  • После выхода сборки 7.1 мы выпустили уже три патча, в каждом из которых улучшаем административную часть сайта. Сборка DIAFAN.CMS 7.1.3 уже доступна к установке. 

Форум