1

我正在使用代码打印图像而不显示它的真实路径。但是当我想将该图像保存到我的计算机时遇到问题,因为它总是将 PHP 文件名显示为图像的名称。

$id = intval($_REQUEST["id"]);
$getimage = $db->query("select id,img from bbup where id='$id'");
$fetch_image = $db->fetch($getimage);
$filename = $fetch_image['img'];
if (!$id) {
    echo "Wrong Id";
    exit;
}
if (!file_exists($filename)) {
    echo "Image not found.";
    exit;
}
$aaa = SITE_URL . $filename;
$imginfo = getimagesize($aaa);
header("Content-type: " . $imginfo['mime']);
readfile($aaa);

php 文件是ppupload.php,当我想在对话框中保存图像(假设它是 PNG 图像)时,文件的名称显示( ppupload.php.png ),我希望它是图像本身。

存储到数据库中的图像路径如下:folder/folder/filename.ext.

4

2 回答 2

2

您是否尝试过设置 Content Disposition 标头?

header('Content-Disposition: attachment; filename='.$filename);
header('Content-Type: application/octet-stream');

这可能会有所帮助。

于 2012-05-03T15:26:16.897 回答
1

您可以尝试添加类似这样的 header("Content-Disposition: inline; filename=\"myimg.png\"");

于 2012-05-03T15:25:55.413 回答