megauser Posted August 22, 2021 Report Share Posted August 22, 2021 Есть поставщик у которого фото идут в таком формате ссылка , по идее фото открывается. Но не закачивается на сервер ко мне. со https проблему знаю и кто то из форумчан мне уже допиливал, с других сайтов отлично грузит по https Поэтому тут дело скорей всего в том что ссылка специфическая. https://cdn2.randewoo.ru/img/25796/z/1 Может кто сталкивался? Quote Link to post Share on other sites
phukortsin Posted August 22, 2021 Report Share Posted August 22, 2021 Simpla на работу с такими ссылками на изображения НЕ рассчитана. Стандартно ссылка должна иметь обычное расширение типа gif, jpeg. Чтобы такое работало, надо переделывать скрипт ресайза по-своему... Quote Link to post Share on other sites
megauser Posted August 22, 2021 Author Report Share Posted August 22, 2021 11 часов назад, phukortsin сказал: Simpla на работу с такими ссылками на изображения НЕ рассчитана. Стандартно ссылка должна иметь обычное расширение типа gif, jpeg. Чтобы такое работало, надо переделывать скрипт ресайза по-своему... Сколько будет стоить? Quote Link to post Share on other sites
Kosjak76 Posted August 23, 2021 Report Share Posted August 23, 2021 А зачем скрипт ресайза переделывать? Проблема же не в ресайзе, а в импорте. Предлагаю при импорте копировать картинку сразу к себе на сервер и давать ей свое собственное имя. А дальше скрипт ресайза уже будет работать стандартно. Quote Link to post Share on other sites
megauser Posted August 23, 2021 Author Report Share Posted August 23, 2021 1 час назад, Kosjak76 сказал: А зачем скрипт ресайза переделывать? Проблема же не в ресайзе, а в импорте. Предлагаю при импорте копировать картинку сразу к себе на сервер и давать ей свое собственное имя. А дальше скрипт ресайза уже будет работать стандартно. Изображения по сути и не качаются даже. Ресайз наверное тоже стандартно не будет работать, т.к. изображения идут в формате jfif Quote Link to post Share on other sites
megauser Posted August 23, 2021 Author Report Share Posted August 23, 2021 1 час назад, Kosjak76 сказал: А зачем скрипт ресайза переделывать? Проблема же не в ресайзе, а в импорте. Предлагаю при импорте копировать картинку сразу к себе на сервер и давать ей свое собственное имя. А дальше скрипт ресайза уже будет работать стандартно. а если товаров 11 тысяч, это не положит импорт? Quote Link to post Share on other sites
sergeevizh Posted August 23, 2021 Report Share Posted August 23, 2021 2 минуты назад, megauser сказал: Изображения по сути и не качаются даже. Ресайз наверное тоже стандартно не будет работать, т.к. изображения идут в формате jfif изображения идут в формате image/jpeg и отдаются nginx-ом при импорте проверять, есть ли у изображения тип, если нет ставить стандартно jpeg Quote Link to post Share on other sites
megauser Posted August 23, 2021 Author Report Share Posted August 23, 2021 3 минуты назад, alexivchenko сказал: изображения идут в формате image/jpeg и отдаются nginx-ом при импорте проверять, есть ли у изображения тип, если нет ставить стандартно jpeg Вы имеете ввиду при импорте прям докачивать изображения? ведь сейчас они у меня хранятся в базе в виде данных ссылок выше. Quote Link to post Share on other sites
sergeevizh Posted August 23, 2021 Report Share Posted August 23, 2021 5 минут назад, megauser сказал: Вы имеете ввиду при импорте прям докачивать изображения? ведь сейчас они у меня хранятся в базе в виде данных ссылок выше. я имею ввиду, что нужно зачистить имеющиеся записи картинок в базе после импорта, дописать в импорте проверку simpla/ajax/import.php со строки 269 PATHINFO_BASENAME на type Quote Link to post Share on other sites
megauser Posted August 23, 2021 Author Report Share Posted August 23, 2021 9 минут назад, alexivchenko сказал: я имею ввиду, что нужно зачистить имеющиеся записи картинок в базе после импорта, дописать в импорте проверку simpla/ajax/import.php со строки 269 PATHINFO_BASENAME на type Не совсем понял, я проверяю type и дописываю ссылкам расширение? Quote Link to post Share on other sites
sergeevizh Posted August 23, 2021 Report Share Posted August 23, 2021 1 минуту назад, megauser сказал: Не совсем понял, я проверяю type и дописываю ссылкам расширение? ссылки не должны хранится в базе, а базе хранится только имя файла который лежит в папке ./files/original для этого, вам нужно переписать simpla/ajax/import.php чтобы он проверял на наличие типа фала и в случае его отсутствия подставлял Quote Link to post Share on other sites
megauser Posted August 23, 2021 Author Report Share Posted August 23, 2021 2 минуты назад, alexivchenko сказал: ссылки не должны хранится в базе, а базе хранится только имя файла который лежит в папке ./files/original для этого, вам нужно переписать simpla/ajax/import.php чтобы он проверял на наличие типа фала и в случае его отсутствия подставлял Почему, если в файле импорта идут ссылки, то он же не сразу скачивает изображение а по мере обращения к товару. Quote Link to post Share on other sites
sergeevizh Posted August 23, 2021 Report Share Posted August 23, 2021 4 минуты назад, megauser сказал: Почему, если в файле импорта идут ссылки, то он же не сразу скачивает изображение а по мере обращения к товару. потому, что картинки https://cdn2.randewoo.ru/img/25796/z/1 отдаются с проверкой браузера и могут иметь как webp так и jpeg тип. import у simpla работает по типу взять файл, взять имя файла и все. он не проверяет, получил он изображение или нет, просто прописывает ссылку в базу, если ничего не вытянул. поэтому, импорт нужно переписывать, в частности 269 строка. на проверку типа https://www.php.net/manual/ru/function.exif-imagetype.php Quote Link to post Share on other sites
sergeevizh Posted August 23, 2021 Report Share Posted August 23, 2021 8 минут назад, megauser сказал: Почему, если в файле импорта идут ссылки, то он же не сразу скачивает изображение а по мере обращения к товару. по мере обращения ресайз нарезает из файла который находится в ./files/original и в базе прописано его имя с типом Quote Link to post Share on other sites
phukortsin Posted August 23, 2021 Report Share Posted August 23, 2021 4 часа назад, Kosjak76 сказал: А зачем скрипт ресайза переделывать? Проблема же не в ресайзе, а в импорте. Предлагаю при импорте копировать картинку сразу к себе на сервер и давать ей свое собственное имя. А дальше скрипт ресайза уже будет работать стандартно. Во-первых, у ТС явно нигде не сказано ничего про импорт. Во-вторых, ссылка на изображение со стороннего сайта может возникает как при импорте, так и при редактировании товара при использовании функционала 'загрузить из интернета'. И если использовать Ваше предложение, то переделывать надо не только импорт, но и этот функционал - уже работа удваивается. Поэтому очень сомневаюсь, что идея хорошая... Quote Link to post Share on other sites
megauser Posted August 25, 2021 Author Report Share Posted August 25, 2021 В 23.08.2021 в 12:03, alexivchenko сказал: потому, что картинки https://cdn2.randewoo.ru/img/25796/z/1 отдаются с проверкой браузера и могут иметь как webp так и jpeg тип. import у simpla работает по типу взять файл, взять имя файла и все. он не проверяет, получил он изображение или нет, просто прописывает ссылку в базу, если ничего не вытянул. поэтому, импорт нужно переписывать, в частности 269 строка. на проверку типа https://www.php.net/manual/ru/function.exif-imagetype.php Так у меня при импорте ссылка https://cdn2.randewoo.ru/img/25796/z/1 Сама картинка там jfif формата Получается я определяю расширение и добавляю https://cdn2.randewoo.ru/img/25796/z/1.jfif Но тогда получается что изображение просто не скачается, т.к. сервер так не отдает. Получается фото все качать придется? а обычным функционалом они не будут подтягиваться постепенно? Quote Link to post Share on other sites
sergeevizh Posted August 25, 2021 Report Share Posted August 25, 2021 9 минут назад, megauser сказал: Так у меня при импорте ссылка https://cdn2.randewoo.ru/img/25796/z/1 Сама картинка там jfif формата Получается я определяю расширение и добавляю https://cdn2.randewoo.ru/img/25796/z/1.jfif Но тогда получается что изображение просто не скачается, т.к. сервер так не отдает. Получается фото все качать придется? а обычным функционалом они не будут подтягиваться постепенно? нет, после нескольких проб, решение либо качать в ручную или писать парсер с заголовками браузера который будет ожидать jpeg/jpg/webp собирать все в csv или напрямую через апи кидать. стандартный simpla resize не умеет работать с форматом таких изображений Quote Link to post Share on other sites
megauser Posted August 25, 2021 Author Report Share Posted August 25, 2021 1 час назад, alexivchenko сказал: нет, после нескольких проб, решение либо качать в ручную или писать парсер с заголовками браузера который будет ожидать jpeg/jpg/webp собирать все в csv или напрямую через апи кидать. стандартный simpla resize не умеет работать с форматом таких изображений Мде, это печально... Quote Link to post Share on other sites
sergeevizh Posted August 25, 2021 Report Share Posted August 25, 2021 (edited) 1 час назад, megauser сказал: Мде, это печально... ничего печального, просто нужно переписать в api/image.php функцию download_image и resize/resize.php Edited August 25, 2021 by alexivchenko Quote Link to post Share on other sites
Noxter Posted August 25, 2021 Report Share Posted August 25, 2021 Во базар развели! Юзай file_get_contents и file_put_contents чтобы сохранить фото на сервере. Quote Link to post Share on other sites
phukortsin Posted August 26, 2021 Report Share Posted August 26, 2021 16 часов назад, Noxter сказал: Во базар развели! Юзай file_get_contents и file_put_contents чтобы сохранить фото на сервере. Особо ничего не развели, обычные обсуждения. А вопрос не в том, чтобы "сохранить фото на сервере", а чтобы полностью правильно обрабатывать картинки с нестандартными для Simpla ссылками. И судя по тому, что в теме специалисты в основном дают общие советы, для решения надо написать код довольно большой и не совсем простой... А один спец здесь в теме сначала сказал "поэтому, импорт нужно переписывать". А чуть позже заговорил совсем иначе "нужно переписать в api/image.php функцию download_image и resize/resize.php". Думаю, если у него вдруг дойдет до дела, то быстро выяснится, что требуется еще пару функций переписать... Quote Link to post Share on other sites
Noxter Posted August 26, 2021 Report Share Posted August 26, 2021 Достаточно немного переписать функцию download_image дабы подобные картинки по ссылкам сохранить на сервере, и уже при открытии товара корректно выполнилась функция обрезки. Quote Link to post Share on other sites
sergeevizh Posted August 26, 2021 Report Share Posted August 26, 2021 3 часа назад, phukortsin сказал: Особо ничего не развели, обычные обсуждения. А вопрос не в том, чтобы "сохранить фото на сервере", а чтобы полностью правильно обрабатывать картинки с нестандартными для Simpla ссылками. И судя по тому, что в теме специалисты в основном дают общие советы, для решения надо написать код довольно большой и не совсем простой... А один спец здесь в теме сначала сказал "поэтому, импорт нужно переписывать". А чуть позже заговорил совсем иначе "нужно переписать в api/image.php функцию download_image и resize/resize.php". Думаю, если у него вдруг дойдет до дела, то быстро выяснится, что требуется еще пару функций переписать... я как раз вчера уже переписал в api/image.php функцию download_image, картинки сохраняются. правда код колхозный думаю как его лучше написать Quote Link to post Share on other sites
Noxter Posted August 26, 2021 Report Share Posted August 26, 2021 21 минуту назад, alexivchenko сказал: я как раз вчера уже переписал в api/image.php функцию download_image, картинки сохраняются. правда код колхозный думаю как его лучше написать Экстрасенсы в отпуске Quote Link to post Share on other sites
phukortsin Posted August 26, 2021 Report Share Posted August 26, 2021 55 минут назад, alexivchenko сказал: я как раз вчера уже переписал в api/image.php функцию download_image, картинки сохраняются. правда код колхозный думаю как его лучше написать Если можно, выкладывайте код. "код колхозный" - этот второстепенный недостаток можно потерпеть, если все работает верно... Quote Link to post Share on other sites
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.