Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/257.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php “我怎么能?”;提示“;要将动态图像保存到磁盘的文件名?_Php_Http - Fatal编程技术网

Php “我怎么能?”;提示“;要将动态图像保存到磁盘的文件名?

Php “我怎么能?”;提示“;要将动态图像保存到磁盘的文件名?,php,http,Php,Http,可能重复: My PHP生成的GUI显示动态生成的PNG图像: <img src="someScript.php?dataId=xyz&width=250&height=200" alt="Chart" /> 但是,当我的用户尝试右键单击并在IE、Firefox或Chrome中另存为时,建议的文件名是someScript.php.png。这不是唯一的,也不是很有用 如何向浏览器提示“另存为”文件名应该是什么? 浏览器总是可以随心所欲,但HTTP的内容配置开创了先例

可能重复:

My PHP生成的GUI显示动态生成的PNG图像:

<img src="someScript.php?dataId=xyz&width=250&height=200" alt="Chart" />
但是,当我的用户尝试右键单击并在IE、Firefox或Chrome中另存为时,建议的文件名是
someScript.php.png
。这不是唯一的,也不是很有用

如何向浏览器提示“另存为”文件名应该是什么?


浏览器总是可以随心所欲,但HTTP的
内容配置开创了先例:附件;filename=
对我来说意味着可能有某种暗示文件名的方式。此HTTP头本身不合适,因为我希望
内容配置
保持在。

以下文件的
文件名
参数:

[RFC6266]
4.3。处置参数:“文件名”

参数“filename”和“filename*”(不区分大小写匹配)提供了有关如何构造用于存储消息负载的文件名的信息

根据处置类型,此信息可立即使用(在“附件”处置类型引起的“另存为…”交互中),或稍后使用(例如,当用户决定保存当前显示页面的内容时)。

因此:


True,但不要期望所有浏览器都能处理此问题。看见
<?php
header('Content-Type: image/png');
// output image based on $_GET['dataId']
?>
<?php
$filename = "image_" . $_GET['dataId'] . ".png";

header("Content-Type: image/png");
header("Content-Disposition: inline; filename=\"{$filename}\"");

// output image based on $_GET['dataId']
?>