kossik Опубликовано 27 июня, 2018 Жалоба Поделиться Опубликовано 27 июня, 2018 (изменено) Здравствуйте, помогите разобраться с проблемой.Импорт товаров происходит из CSV файла с ссылками на изображения на другой сервер. В БД изображения хранятся в виде ссылки до тех пор, пока файл не скачан на хостинг в папку orginals. При первом открытии товара на сайте, ссылки на изображения пишутся в виде: http://site.ru/files/products/https%3A%2F%2Fshop.ru%2Fimage%2Fdata%2Fproducts%2F05195.800x800w.jpg?5165d1gh65df1ghd65f1gd65 То есть к ссылке на другой сервер добавляется вначале путь к папке с содержимым изображений после ресайза, в конце параметры ресайза. Когда перезагружаешь страницу во второй раз, все изображения появляются, кроме тех, которые хранятся на другом сервере с https В шаблоне обращение к изображению идет как обычно: "{$image->filename|resize:800:800:w}" Файл resize.php: <?php require_once('../api/Simpla.php'); $filename = $_GET['file']; $token = $_GET['token']; $simpla = new Simpla(); if(!$simpla->config->check_token($filename, $token)) exit('bad token'); $resized_filename = $simpla->image->resize($filename); if(is_readable($resized_filename)) { header('Content-type: image'); print file_get_contents($resized_filename); } .htaccess # Ресайз картинок на лету RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^files/products/(.+) resize/resize.php?file=$1&token=%{QUERY_STRING} #RewriteCond %{THE_REQUEST} ^GET\ (.*)files/products/(.*)\?([A-z0-9]*) #RewriteRule ^files/products/(.+) resize/resize.php?file=%2&token=%3 [L,NE] Изменено 27 июня, 2018 пользователем kossik Цитата Ссылка на сообщение Поделиться на другие сайты
phukortsin Опубликовано 27 июня, 2018 Жалоба Поделиться Опубликовано 27 июня, 2018 Вы столкнулись с недостатком Simpla, который известен довольно давно.Так уж устроена работа с изображениями в этой CMS. Недостаток не особо критичный. Но если Вам непременно хочется открытия картинок с первого раза, то надо существенно переделывать этот функционал. Простого решения этого вопроса за несколько лет никто не предложил. Цитата Ссылка на сообщение Поделиться на другие сайты
kossik Опубликовано 27 июня, 2018 Автор Жалоба Поделиться Опубликовано 27 июня, 2018 (изменено) Вы столкнулись с недостатком Simpla, который известен довольно давно.Так уж устроена работа с изображениями в этой CMS. Недостаток не особо критичный. Но если Вам непременно хочется открытия картинок с первого раза, то надо существенно переделывать этот функционал. Простого решения этого вопроса за несколько лет никто не предложил.Хорошо, а хотя бы чтобы картинки загружались с https серверов можно как-то сделать? Изменено 27 июня, 2018 пользователем kossik Цитата Ссылка на сообщение Поделиться на другие сайты
phukortsin Опубликовано 27 июня, 2018 Жалоба Поделиться Опубликовано 27 июня, 2018 А это уже недостаток другой. Тут есть один вариант решенияhttp://forum.simplacms.ru/topic/13363-%D0%B7%D0%B0%D0%B3%D1%80%D1%83%D0%B7%D0%BA%D0%B0-%D0%B8%D0%B7%D0%BE%D0%B1%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D0%B9-%D0%BF%D0%BE-ftp/Способ простой, поэтому ненадежный, не всегда работать будет. Если требуется полноценное решение, то надо просить мастеров (за денежку). Цитата Ссылка на сообщение Поделиться на другие сайты
kossik Опубликовано 28 июня, 2018 Автор Жалоба Поделиться Опубликовано 28 июня, 2018 А это уже недостаток другой. Тут есть один вариант решенияhttp://forum.simplacms.ru/topic/13363-%D0%B7%D0%B0%D0%B3%D1%80%D1%83%D0%B7%D0%BA%D0%B0-%D0%B8%D0%B7%D0%BE%D0%B1%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D0%B9-%D0%BF%D0%BE-ftp/Способ простой, поэтому ненадежный, не всегда работать будет. Если требуется полноценное решение, то надо просить мастеров (за денежку).https проверку уже пробовал ставить, ничего не выходит.Вообще странно, что не скачивает. Там же простейшая функция copy() выполняет это действие. Попробовал просто с помощью copy скачать файл на свой хостинг из https - скачивает и сохраняет. Просто подскажите в какоую сторону смотреть то? Не пойму где проблема может быть Цитата Ссылка на сообщение Поделиться на другие сайты
phukortsin Опубликовано 28 июня, 2018 Жалоба Поделиться Опубликовано 28 июня, 2018 Вообще странно, что не скачивает. Там же простейшая функция copy() выполняет это действие. Ничего тут странного.Как Вы сказали, функция простейшая, и потому ее выполнение сталкивается с ограничениями безопасности от протокола https. Или с ограничениями сервера или его операционной системы. И понять, "где проблема может быть" - иногда может быть очень даже не простой задачей даже специалисту. Это не игрушки, а настоящая работа... В цитированной теме сам автор оценил свое творение как "не самое лучшее решение, но на быструю руку сойдёт". И по-моему, он при этом был пристрастен и излишне оптимистичен. И то, что не стал сразу писать хорошее решение, говорит в пользу того, что это не так просто и требует настоящей работы специалиста... Цитата Ссылка на сообщение Поделиться на другие сайты
kossik Опубликовано 28 июня, 2018 Автор Жалоба Поделиться Опубликовано 28 июня, 2018 Ничего тут странного.Как Вы сказали, функция простейшая, и потому ее выполнение сталкивается с ограничениями безопасности от протокола https. Или с ограничениями сервера или его операционной системы. И понять, "где проблема может быть" - иногда может быть очень даже не простой задачей даже специалисту. Это не игрушки, а настоящая работа... В цитированной теме сам автор оценил свое творение как "не самое лучшее решение, но на быструю руку сойдёт". И по-моему, он при этом был пристрастен и излишне оптимистичен. И то, что не стал сразу писать хорошее решение, говорит в пользу того, что это не так просто и требует настоящей работы специалиста...А какие ограничения, когда я эти же самые фотографии товаров скачиваю функцией copy, и все в порядке? А симпла не скачивает. Где-то значит ошибка кода, которая неверно ссылку дает, либо какие-то еще параметры ошибочные. Уже обыскался, не понимаю где именно проблема Цитата Ссылка на сообщение Поделиться на другие сайты
kossik Опубликовано 28 июня, 2018 Автор Жалоба Поделиться Опубликовано 28 июня, 2018 (изменено) На настоящий момент обнаружил, что при таком обращении, скрипт resize вообще не запускается, мы даже не заходим в файл resize/resize.phpЭто получается, что редирект в htaccess неправильно настроен?Сейчас у меня вот так: # Ресайз картинок на лету RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^files/products/(.+) resize/resize.php?file=$1&token=%{QUERY_STRING} RewriteCond %{THE_REQUEST} ^GET\ (.*)files/products/(.*)\?([A-z0-9]*) RewriteRule ^files/products/(.+) resize/resize.php?file=%2&token=%3 [L,NE] Изменено 28 июня, 2018 пользователем kossik Цитата Ссылка на сообщение Поделиться на другие сайты
kossik Опубликовано 28 июня, 2018 Автор Жалоба Поделиться Опубликовано 28 июня, 2018 Продолжение темы здесь:http://forum.simplacms.ru/topic/13613-%D0%B7%D0%B0%D0%B3%D1%80%D1%83%D0%B7%D0%BA%D0%B0-%D0%B8%D0%B7%D0%BE%D0%B1%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D0%B9-%D1%81-https-%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%BE%D0%B2/ Цитата Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.