Итак, я написал «модификатор GD-изображения», который мы назовем, и, используя функцию imagejpeg, выведу его в браузер. Мне любопытно, есть ли, возможно, информация для заголовка, которую я могу передать, которая будет указывать браузеру загружать файл с именем, отличным от имени файла PHP, который возвращает данные обратно.
Сценарий состоит в том, что мой PHP-файл, «generate.php» на данный момент, передает заголовок изображения и выводит изображение, но если я пойду, чтобы сохранить изображение, имя файла по умолчанию будет «generate.php». Я хотел бы вернуть динамически сгенерированное имя файла.
Если код является обязательным здесь по какой-либо причине; Я буду рад опубликовать это — но я чувствую, что в этом нет необходимости.
Отправить Content-Disposition
заголовок.
Для отображения изображения:
header("Content-Disposition: Inline; filename=$filename");
Скачать изображение:
header("Content-Disposition: Attachment; filename=$filename");
Я думаю, что вы можете переписать URL:
Вы можете добавить простое правило, подобное этому, в файл .htaccess:
RewriteEngine on
RewriteRule ^/images/(.*)$ /generate.php?imagename=$1
Когда вы называете изображение, которое вы собираетесь использовать <img src="/images/image.png" />
но сервер вместо поиска этого URL выполнит ваш php-скрипт из-за вашего правила.