0

我无法让浏览器提示用户使用正确的名称保存图像。

  • 我的网络根目录是/var/www/html
  • 我有一张图片(.jpg)/var/www/client/image.jpg

由于多种原因,这两件事无法更改

我有一个文件 dImage.php,在/var/www/html其中我正在执行以下操作以让浏览器下载,而不是查看文件。

$fileName = '/var/www/client/image.jpg';    

header('Content-disposition: attachment; filename="' . $fileName . '"');
header('Content-type: image/jpeg');
readfile($fullpath);

在 IE 中,我收到提示下载dImage.jpg

在 Firefox 中,系统提示我下载dImage.php,它是一个:JPEG 图像。当我在那里下载文件时,它被保存为 .php 文件,一旦更改扩展名,它就会作为图像正确打开。

无论使用何种浏览器,我是否可以让浏览器提示用户将文件另存为image.jpg

4

1 回答 1

0

您显示的代码将生成一个名称为“/var/www/client/image.jpg”的文件,这显然不是一个有效的文件名,这就是您的文件以脚本命名的原因。

$fileName是输出文件的所需名称,
$fullpath应该是所需文件的绝对路径,php 的相对路径不像 HTML 的路径那样工作。'/' 不会将您指向文档根文件夹。

于 2013-06-09T14:16:42.430 回答