加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

如何将“另存为…”对话框中显示的文件名从.php更改为.png

发布时间:2020-12-13 13:50:30 所属栏目:PHP教程 来源:网络整理
导读:我从stackoverflow中选取的一个简单的 PHP脚本生成一个透明背景的PNG,在其上写入一些文本,然后直接将其输出到客户端浏览器: $font = 25;$string = 'My Text';$im = @imagecreatetruecolor(300,300);imagesavealpha($im,true);imagealphablending($im,false)
我从stackoverflow中选取的一个简单的 PHP脚本生成一个透明背景的PNG,在其上写入一些文本,然后直接将其输出到客户端浏览器:
$font = 25;
$string = 'My Text';
$im = @imagecreatetruecolor(300,300);
imagesavealpha($im,true);
imagealphablending($im,false);
$white = imagecolorallocatealpha($im,255,127);
$red = imagecolorallocate($im,0);
imagefill($im,$white);
$lime = imagecolorallocate($im,204,51);
imagettftext($im,$font,30,$red,"fonts/tt0588m_.ttf",$string);
header("Content-type: image/png");
imagepng($im);
imagedestroy($im);

范围是获得一个简单的服务,该服务根据通过URL传递给它的参数来提供图像,例如Google Charts(例如this QR code image).

到目前为止,这么好,除非我点击上面代码生成的图像并想保存它,浏览器不会将其识别为PNG图像,而是PHP脚本(另存为类型选择器有此选项仅作为Google图表示例,其中资源被明确标识为PNG文件.

如何通过浏览器实现这种正确的资源识别?

浏览器将使用URL中的文件名作为“另存为…”对话框中的默认值.您可以键入其他名称或使用建议的名称(text.php)保存文件,然后重命名.

您可以使用Content-disposition标题向浏览器“建议”文件名.这是一个例子:

header("Content-type: image/png");
header("Content-disposition: inline; filename=mytext.png");

> inline表明浏览器应该尝试显示图像.将其更改为附件,以表明浏览器应显示“另存为…”或类似对话框.> filename =应包含您选择的文件名.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读