我无法让浏览器提示用户使用正确的名称保存图像。
/var/www/html
/var/www/client/image.jpg
由于多种原因,这两件事情无法改变
我在/var/www/html
中有一个文件dImage.php,我正在执行以下操作以使浏览器下载,而不是查看文件。
$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 ,无论使用何种浏览器?
答案 0 :(得分:0)
您显示的代码将生成一个名为“/var/www/client/image.jpg”的文件,该文件显然不是有效的文件名,这就是您的文件在脚本之后命名的原因。
$fileName
是输出文件的所需名称,
$fullpath
应该是所需文件的绝对路径,php的相对路径不像HTML的路径那样工作。 '/'不会指向文档根文件夹。