我只是PHP的初学者。我想在点击网址时下载图片文件。
当我对文件名进行硬编码时,它会起作用,但是当我尝试根据点击的网址下载不同的图像文件时,它不起作用。代码可能会以更好的方式解释它。
点击网址时的代码
<a href="./download.php?var=./img/Photo6.jpg" class="btn btn-2">Download brochure</a>
的download.php
<?php
$var=$_GET['var'];
$filename=$var;
$filename = './img/Photo6.jpg'; // this works
//$filename = $var; // this does not work
header('Pragma: public');
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Cache-Control: private', false); // required for certain browsers
header('Content-Type: image/jpeg');
header('Content-Disposition: attachment; filename="'. basename($filename) . '";');
header('Content-Transfer-Encoding: binary');
header('Content-Length: ' . filesize($filename));
readfile($filename);
exit;
?>
请帮助。 感谢。
答案 0 :(得分:0)
使用时:
$_GET['var'];
你期待一个带有?的url结构?在里面:
./download.php?var=./img/Photo6.jpg
在您的示例中:var =。/ img / Photo6.jpg,告诉php变量GET [var]将取值./img/Photo6.jpg
因此,基于点击的网址的不同图像文件必须具有
./download.php?var=XXX
结构工作。确保您的所有网址都具有该结构。