kossik Опубликовано 10 апреля, 2018 Жалоба Поделиться Опубликовано 10 апреля, 2018 В БД файл изображения хранится в виде ссылки на изображение на сайте поставщика. На страницу сайта картинка пытается вывестись вот в таком виде:http://(мой сайт)/files/products/http%253A%252F%252Fwww.(сайт поставщика).ru%252Fuserfiles%252Fshop_cat_images%252F%252089.800x800w.jpg?0f968addbee2cd6a6e9419ecf9eeedf9 То есть картинка не загрузилась. В папке Originals файла нет.Заметил такой факт, что изображения, в именах которых есть цифры, загрузились на сайт.Например название было "картинка45.jpg" загружена в originals под названием "45.jpg" То есть не загружаются изображения вида "картинка.jpg", видимо отбрасывается название полностью. Где проблема? Хостинг? Или надо добавить транслит в функцию download_image? Цитата Ссылка на сообщение Поделиться на другие сайты
Noxter Опубликовано 10 апреля, 2018 Жалоба Поделиться Опубликовано 10 апреля, 2018 Транслитерация картинок в симпле есть api/Image.php функция correct_filename Цитата Ссылка на сообщение Поделиться на другие сайты
kossik Опубликовано 10 апреля, 2018 Автор Жалоба Поделиться Опубликовано 10 апреля, 2018 Транслитерация картинок в симпле есть api/Image.php функция correct_filenameО, спасибо!Странно, почему она вызывается только в функции upload_image, а в download_image остается все как есть?Как вы думаете, стоит самостоятельно туда ее добавить и при скачивании сохранять в латинице? Цитата Ссылка на сообщение Поделиться на другие сайты
Noxter Опубликовано 10 апреля, 2018 Жалоба Поделиться Опубликовано 10 апреля, 2018 (изменено) О, спасибо! Странно, почему она вызывается только в функции upload_image, а в download_image остается все как есть? Как вы думаете, стоит самостоятельно туда ее добавить и при скачивании сохранять в латинице?Вы картинки как заливаете? Путём вставки ссылки на изображение? Если да, то функция upload_image как раз таки вызывается в simpla/ProductAdmin.php, потом происходит ресайз и если файл в БД записан как удалённый то выполняется функция download_image. На самом деле разработчик таких костылей навешал с работой изображений что проще плюнуть и сделать заново. Изменено 10 апреля, 2018 пользователем Noxter Цитата Ссылка на сообщение Поделиться на другие сайты
kossik Опубликовано 10 апреля, 2018 Автор Жалоба Поделиться Опубликовано 10 апреля, 2018 (изменено) Вы картинки как заливаете? Путём вставки ссылки на изображение?Если да, то функция upload_image как раз таки вызывается в simpla/ProductAdmin.php, потом происходит ресайз и если файл в БД записан как удалённый то выполняется функция download_image.На самом деле разработчик таких костылей навешал с работой изображений что проще плюнуть и сделать заново.У меня все товары загружаются из CSV, соответственно в нем стоит ссылка на изображение на сервере поставщика.То есть пока он не загрузится на сервер, в БД он хранится в виде ссылки.А загрузиться он видимо не может из-за ошибки при попытке сохранения. Поэтому такая ерунда получается. Изменено 10 апреля, 2018 пользователем kossik Цитата Ссылка на сообщение Поделиться на другие сайты
kossik Опубликовано 10 апреля, 2018 Автор Жалоба Поделиться Опубликовано 10 апреля, 2018 (изменено) Дополнение:Методом тыка определил, что проблема не в кириллице, а в пробеле в имени файла у поставщика.Мало того, что он на кириллице, так еще и с пробелами.Например "картинка мини.jpg"В результате после $basename = explode('&', pathinfo($filename, PATHINFO_BASENAME)); у нас остается только " мини.jpg" А вообще зачем нужна вот эта часть кода: explode('&'В какой ситуации в filename может появиться &?Может просто взять имя файла после последнего '/'? Изменено 10 апреля, 2018 пользователем kossik Цитата Ссылка на сообщение Поделиться на другие сайты
phukortsin Опубликовано 11 апреля, 2018 Жалоба Поделиться Опубликовано 11 апреля, 2018 А вообще зачем нужна вот эта часть кода: explode('&' В какой ситуации в filename может появиться &? Может просто взять имя файла после последнего '/'?Так надо. http://forum.simplacms.ru/topic/12489-%D1%83%D0%B1%D1%80%D0%B0%D1%82%D1%8C-%D1%82%D0%BE%D0%BA%D0%B5%D0%BD-%D0%B8%D0%B7-url-%D0%B8%D0%B7%D0%BE%D0%B1%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D0%B9/ Цитата Ссылка на сообщение Поделиться на другие сайты
kossik Опубликовано 12 апреля, 2018 Автор Жалоба Поделиться Опубликовано 12 апреля, 2018 Ну все-таки ответа нет. Методы тыка ни к чему не приводятМожет есть какое-то решение? Кто-нибудь знает что делать с файлами на кириллице и с пробелами? Цитата Ссылка на сообщение Поделиться на другие сайты
kossik Опубликовано 16 апреля, 2018 Автор Жалоба Поделиться Опубликовано 16 апреля, 2018 (изменено) setlocale(LC_ALL, "ru_RU.UTF-8");вот в чем косяк был.на этом хостинге не настроена локаль быланаписал локаль в файле класса simpla, все заработало Изменено 16 апреля, 2018 пользователем kossik Цитата Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.