Вы можете попытаться установить имя файла, используя заголовки HTTP, но не все браузеры это учитывают.
Самый простой трюк - расширить URL, чтобы последняя часть содержала желаемое имя файла:
<img src="picture_generator.php/desiredfilename.jpg?image_id=5&extension=.png&name=desiredfilename.jpg">
Примечание. Я также добавил имя файла в конце строки запроса (значение name
не имеет значения), поскольку некоторые браузеры используют эту часть.
В зависимости от конфигурации вашего сервера это сразу же будет работать без какой-либо специальной настройки (без mod_rewrite или чего-либо подобного). Вы можете проверить, работает ли он на вашем сервере, просто добавив «/foo
» к любому PHP-URL на вашем сайте. Если вы видите вывод вашего PHP, все хорошо. Если вы видите ошибку 404, значит, ваша конфигурация сервера не может справиться с такими URL.