Автор Тема: Запись файлов изображений – типы файлов  (Прочитано 543 раз)

13 Май 2016, 12:46:05
  • Фрилансер
  • *
  • Сообщений: 153
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Добрый день!
Вопрос по записи файлов изображений товара, скорей даже не по записи,  а по определению типа файла.
Такой вопрос.. при записи картинки,  файл выбираешь и загружаешь все ясно,  но файл загружаешь с типом jpg и png.
В каталоги она записывает  по разбивке то-же с типом  jpg и png
Путь к ним найти просто,  например /img/p/1/6/… и т.д.
img\p\3\4\7\
347.jpg
347-home_default.jpg
347-large_default.jpg
….. и т.д
А как теперь определить , с каким типом в конечной папке записан файл  jpg или  png
Хочу сделать запрос к базе на открытие файла, путь и имя файла,  можно с базы получить а тип…
Нужно получить путь к файлу полный типа   img\p\3\4\7\347.jpg
Без типа получить можно , получает  так   img\p\3\4\7\347
А как тип получить…
Как запрос сделать и получить полный путь к файлу?
Спасибо!
13 Май 2016, 13:43:22
Ответ #1
  • Ветеран
  • *****
  • Сообщений: 1808
  • Репутация: +49/-1
  • Сообщество PrestaShop
    • Просмотр профиля
Изображение товаров в формате jpg.
13 Май 2016, 14:56:02
Ответ #2
  • Фрилансер
  • *
  • Сообщений: 153
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Есть и jpg и png..
В том-то и дело..
Если бы было в одном формате то и вопросов нет..
Я пока выкрутился с помощью FTP Соединение , проверяю всю конечную папку на существование файлов с типом jpg, если нет, то
присваиваю тип png и открываю. Но это все долго..... Потому что если 5 фото и все разные то при открытии их приходиться 5 папок проверять на существование сначало jpg потом png.
13 Май 2016, 15:20:23
Ответ #3
  • Ветеран
  • *****
  • Сообщений: 1285
  • Репутация: +13/-1
  • Сообщество PrestaShop
    • Просмотр профиля
Все правильно, нужно проверять существование каждого файла. Имя файла и разрешение в базе не сохраняются. Можно еще отрезать разрешение и потом использовать.
$extension = substr($file_name, strrpos($file_name, '.') + 1);
13 Май 2016, 15:40:39
Ответ #4
  • Фрилансер
  • *
  • Сообщений: 153
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Спасибо за ответы!
А с помощью sql запроса ни как нельзя проверить есть такой файл по пути или нет..
Типа того ... Запрос = " команда "путь/каталог/файл.тип ";
13 Май 2016, 18:21:19
Ответ #5
  • Ветеран
  • *****
  • Сообщений: 3419
  • Репутация: +79/-6
  • Сообщество PrestaShop
    • Просмотр профиля
Нельзя. Так как в бд нет имени файла.
15 Май 2016, 14:20:45
Ответ #6
  • Фрилансер
  • *
  • Сообщений: 153
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Вот еще столкнулся с такой проблемой..
При установке фото на сайт через админку все нормально, а при установке через свою обработку фото ставиться в папках есть
а в админке в товарах и  изображениях маленькие не отображаются на карточке товара то-же неотображаются.
Втаблицах базы проверял все стоит правельно
ps_image
ps_image_lang
ps_image_shop
В папке все нужные форматы
Например
713-thickbox_default.jpg
713-small_default.jpg
713-scene_default.jpg
713-m_scene_default.jpg
713-large_default.jpg
713-home_default.jpg
713-cart_default.jpg
713.jpg

Может эти маленькие иконки в админке которые отображаются записываются еще в какуюто  папку?
И еще где то в таблицах указывается какие-то параметры? Чтото упустил.
Спасибо!
15 Май 2016, 14:24:47
Ответ #7
  • Ветеран
  • *****
  • Сообщений: 3419
  • Репутация: +79/-6
  • Сообщество PrestaShop
    • Просмотр профиля
Миниатюры в админке в папке /img/tmp/
Появляются там после генерации изрбражений.
15 Май 2016, 14:56:17
Ответ #8
  • Фрилансер
  • *
  • Сообщений: 153
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Спасибо за ответ.
Это что при установке в админке фото на товар каждый раз при записи идет генерация?
15 Май 2016, 14:57:48
Ответ #9
  • Ветеран
  • *****
  • Сообщений: 3419
  • Репутация: +79/-6
  • Сообщество PrestaShop
    • Просмотр профиля
Да, как добавил фото, так запускается генерация всех форматов изображения.
15 Май 2016, 15:08:20
Ответ #10
  • Фрилансер
  • *
  • Сообщений: 153
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Спасибо!
Я так понимаю генерация и формирует эти файлы согласно форматов таблицы изображений
713-thickbox_default.jpg
713-small_default.jpg
713-scene_default.jpg
713-m_scene_default.jpg
713-large_default.jpg
713-home_default.jpg
713-cart_default.jpg
713.jpg
А если эти файлы уже генерированы под форматы и находятся в соответсвующей папке то они идолжны быть видны так?
Ну кроме еще в tmp.
15 Май 2016, 16:29:12
Ответ #11
  • Ветеран
  • *****
  • Сообщений: 3419
  • Репутация: +79/-6
  • Сообщество PrestaShop
    • Просмотр профиля
Если эти файлы есть, должны быть видны. Если не видны, то нет доступа к этим папкам и файлам.
15 Май 2016, 17:14:57
Ответ #12
  • Фрилансер
  • *
  • Сообщений: 153
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Спасибо! Буду разбираться! Всего доброго!