我为我的图片托管网站制作了一个简单的图片下载器。我面临一个问题。当我下载图像时它破碎了,我无法得到一段代码。有人请看看。
所以我的图像存储在我的image.uploads文件夹中。所以我需要在下载之前获取图像日期。这是我到目前为止所得到的。
<?php
if(isset($_POST['file_name'])){
$file = $_POST['file_name'];
header('Content-type: image/jpg');
header('Content-type: image/png');
header('Content-type: image/gif');
header('Content-Disposition: attachment; filename="'.$file.'"');
readfile('image.uploads/' . date("jS F Y", $image_details->image_date) . '/'.$file);
exit();
}
?>
如果我的图像日期部分正确,我将如何使它显示如下:“25-07-13”:/ html部分:$ image_main是图像名称。
<form action="view-image.php" method="post" name="downloadform">
<input name="file_name" value="<?=$image_main?>" type="hidden">
<input type="submit" value="Download the image">
</form>
非常感谢任何愿意提供帮助的人!
答案 0 :(得分:0)
可能你设置了错误的内容类型,我在下载文件时设置了这些标题:
header("Content-Type: ".$mime);
header("Cache- Control: no-store, no-cache");
header("Content-Description: ".$mustang);
header("Content-Disposition: attachment;filename=".$mustang);
header("Content-Transfer-Encoding: binary");
其中$mime
是mime-type而$mustang
是文件名,基本上你要做的事情是不正确的,因为设置的contet-type总是image / gif
要找出文件的mime类型,请使用php函数finfo_open