我在网页上提供了pdf文件的链接以供下载,如下所示
<a href="myfile.pdf">Download Brochure</a>
问题是,当用户单击此链接时,
但是,无论是否安装了“ Adobe acrobat”,我都希望它始终弹出用户下载。
请告诉我我该怎么做?
而不是链接到.PDF文件,而是执行类似的操作
<a href="pdf_server.php?file=pdffilename">Download my eBook</a>
它会输出一个自定义标头,打开PDF(二进制文件保险箱)并将数据打印到用户的浏览器中,然后尽管用户设置了浏览器,他们仍可以选择保存PDF。pdf_server.php应如下所示:
header("Content-Type: application/octet-stream"); $file = $_GET["file"] .".pdf"; header("Content-Disposition: attachment; filename=" . urlencode($file)); header("Content-Type: application/octet-stream"); header("Content-Type: application/download"); header("Content-Description: File Transfer"); header("Content-Length: " . filesize($file)); flush(); // this doesn't really matter. $fp = fopen($file, "r"); while (!feof($fp)) { echo fread($fp, 65536); flush(); // this is essential for large downloads } fclose($fp);
PS:显然对“文件”变量进行了一些检查,以防止他人窃取您的文件,例如不接受文件扩展名,拒绝斜杠,在值上添加.pdf。