我需要使用提交按钮从页面下载特定图像,所以我使用表单和php提交操作,这里是我的HTML和PHP代码
HTML代码
<form name="logo" action="" method="post">
<input type="hidden" name="lgpath" value="images/logo/<?php echo $SelPro['lgpat'];?>">
<img src="images/cmplogo/<?php echo $SelPro['lgpat'];?>">
<div><input type="submit" value="<?php echo $SelPro['lgname'];?>" name="dwnlg" id="dwnlg"></div></div>
</form>
PHP代码
<?php
if($_POST['dwnlg'])
{
$LgPath=$_POST['lgpath'];
header('Content-Disposition: attachment; filename="'.$LgPath.'"');
}
?>
我提供了将图像下载到标题的路径,但它只下载了当前页面作为文件,我该如何解决?
答案 0 :(得分:2)
请尝试以下代码下载
<?php
if($_POST['dwnlg'])
{
$LgPath=$_POST['lgpath'];
header("Content-type: image/jpeg");
header('Content-Disposition: attachment; filename="'.$LgPath.'"');
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header("Cache-Control: public");
header('Cache-Control: must-revalidate');
header('Pragma: public');
header('Content-Length: ' . filesize($LgPath));
readfile($LgPath);
}
?>
在内容类型中:
if your image is in png format then it will be :
header("Content-type: image/png");
if your image is in jpeg format then it will be :
header("Content-type: image/jpeg");
答案 1 :(得分:0)
设置标题只是告诉客户端数据是什么以及如何使用它,它不会发送数据。
您可以使用readfile来执行此操作
<?php
if($_POST['dwnlg'])
{
$LgPath=$_POST['lgpath'];
header('Content-Disposition: attachment; filename="'.$LgPath.'"');
readfile($LgPath);
}
?>