Показать сообщение отдельно
  #4 (permalink)  
Старый 06.11.2021, 08:12
Аватар для Белый шум
Профессор
Отправить личное сообщение для Белый шум Посмотреть профиль Найти все сообщения от Белый шум
 
Регистрация: 19.01.2012
Сообщений: 505

Сообщение от miha21 Посмотреть сообщение
Может быть мне попробовать на событие по клику правой кнопки вновь формировать тот же GET-запрос?
Это не поможет.

Сообщение от miha21 Посмотреть сообщение
Потому что при нажатии правой кнопки и сохранить метод GET второй раз не отправляет задание скрипту.
Первый вызов картинки выглядит как script.php?и_тут_разные_GET-задания
Понятно. Да, в таком случае это явный косяк браузера. Попробуйте следующие варианты:

- при отдаче картинки выставлять HTTP-заголовки кэширования. Есть вероятность, что можно заставить браузер брать картинку из кэша при сохранении;

- попробуйте убрать заголовок 'header("Content-Disposition: inline; filename=$example.png");'. Вдруг без него браузер изменит своё поведение;

- если в качестве веб-сервера у вас apache, можно заменить параметры GET (всё, что после символа вопроса) на PATH_INFO (https://overcoder.net/q/45476/что-такое-pathinfo-в-php);

- если ничего не поможет, то остаётся самый надёжный способ - сделать GET-параметры частью файла или пути:
/path/to/param1=1/param2=2/script_param3=3_param4=4.php (знак '=' можно заменить на любой другой, например на '-')
и средствами веб-сервера направлять такие запросы на ваш скрипт.
Ответить с цитированием