0

我的问题是通过单击下载图标下载文件(任何扩展名),我尝试使用 Print 语句,但它会打开一个新窗口并显示,用户可以打印整个网页,但我需要让他们下载来自查询的单个文件。任何想法 ??

这就是我的查询显示的方式,当用户单击图像时,它应该能够下载

    doc_id  passport_no   photo            nic_copy         passport_copy
    200004  N8899999      1376630109.jpg   1376630110.jpg   1376630111.jpg

这是我的编码..

<?php if (isset($_GET['file'])) {
$file = $_GET['file'];
if (file_exists($file) && is_readable($file) && preg_match('/\.pdf$/',$file)) {
header('Content-Type: application/pdf');
header("Content-Disposition: attachment; filename=\"$file\"");
readfile($file);
}
} else {
header("HTTP/1.0 404 Not Found");
echo "<h1>Error 404: File Not Found: <br /><em>$file</em></h1>";
}
?>

一个下载链接

<a href="http://localhost/visa/view.php?file=example.pdf">Click here to download PDF</a>
4

2 回答 2

0
<a href="view.php?file=<?php echo $row['filename']; ?>">Click here to download PDF</a>
this will be your view.php
<?php 
$f="upload/".$_REQUEST['file']; // upload is your destination folder where you  uploading you files
if(file_exists($f))
{
header('Content-Description: File Transfer');
header('Content-Type: application/pdf');
header('Content-Disposition: attachment; filename='.basename($f));
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header('Content-Length: ' . filesize($f));
ob_clean();
flush();
readfile($f);
exit;
?>
于 2013-08-16T08:06:56.933 回答
0

使用 PHP 标头告诉浏览器保存文件而不是显示它。

header('Content-disposition: attachment; filename=whatever.ext');
header('Content-type: mime/type');
//echo file contents out here
于 2013-08-16T08:07:01.377 回答