gpt4 book ai didi

php - 如何使用 PHP 定义动态创建的图像的下载名称

转载 作者:行者123 更新时间:2023-12-01 07:52:24 25 4
gpt4 key购买 nike

我们正在使用 PHP 脚本 (watermark.php) 动态更改图像:

$image = imagecreatefromstring(file_get_contents('../'.$_GET['url']));

$w = imagesx($image);
$h = imagesy($image);

// Load the watermark
$watermark = imagecreatefrompng('../imgs/bgs/watermark.png');
$ww = imagesx($watermark);
$wh = imagesy($watermark);

// Insert watermark to the right bottom corner
imagecopy($image, $watermark, $w-$ww-15, $h-$wh-5, 0, 0, $ww, $wh);

// Send the image
header('Content-type: image/jpeg');
imagejpeg($image,null,95);

这被放置在一个 anchor 标记中,可供 fancybox 使用:

<a class="fancybox-buttons" data-fancybox-group="gallery" href="scripts/watermark.php?url=SOME-IMG-TO-CHANGE-ON-THE-FLY.jpg">
<img src="imgs/btns/blanco.png">
</a>

Fancybox 然后使用 anchor 标记为其灯箱创建此内容:

<img class="fancybox-image" src="scripts/watermark.php?url=SOME-IMG-TO-CHANGE-ON-THE-FLY.jpg" style="display: inline;">

如果用户想通过右键单击灯箱图像来保存它,他/她将获取 watermark.php 作为要保存到的文件名。

我们如何让文件名显示为 SOME-IMG-TO-CHANGE-ON-THE-FLY.jpg 而不是 watermark.php?

我们尝试破解 fancybox 代码以输出以下内容:

<img class="fancybox-image" src="scripts/watermark.php?url=SOME-IMG-TO-CHANGE-ON-THE-FLY.jpg" download="SOME-IMG-TO-CHANGE-ON-THE-FLY.jpg" style="display: inline;">

但到目前为止还没有运气。有什么想法可以最好地破解 fancybox 代码或有关如何解决此问题的其他建议吗?

Fancybox 版本:3.0.0 Beta 1(2013 年 1 月 29 日星期二)

谢谢!

最佳答案

您需要包含内容处置 header :

header("Content-disposition: attachment; filename='foo.jpg'");

<img>标签将显示/script.php?id=47 ,但是当有人尝试另存为图像时,浏览器将使用配置 header 中指定的文件名 ( foo.jpg )。

关于php - 如何使用 PHP 定义动态创建的图像的下载名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28175949/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com