我正在编写注册表单,需要在复选框旁边添加一个pdf文件。 pdf文件包含用户在发送表单之前需要同意的重要信息。当您单击复选框旁边显示的文件名时,浏览器必须询问您是否要查看或下载该文件。
我如何实现这一点?
答案 0 :(得分:0)
我想要的方法是创建一个下载目录“ / downloads ”,然后在其中放入一个名为index.php的php文件,其中包含以下代码
<?php
$file = 'http://example.com/download/' . $_GET['file']; //Thanks DanFromGermany!
if($file == 'http://example.com/download/index.php'){die;}
$file_headers = @get_headers($file);
if(substr_count($file_headers[0], '404 Not Found') || substr_count($file_headers[0], '410 Gone')){
exit;
} else {
if($file == 'http://example.com/download/index.php'){die;}
header ("Content-type: octet/stream");
header ("Content-disposition: attachment; filename=".$_GET['file'].";");
header("Content-Length: ".filesize($file));
readfile($file);
header('Location: http://example.com/thanks'); //send them to a thanks page or close the window, whatever works for you
exit;
}
?>
放置您要下载的文件(read_this.pdf)然后按如下方式链接它们
<a href="/download?file=read_this.pdf" target="_blank">Download this PDF</a>
您指向文件的任何文件名,文件放在“ / downloads ”中将强制其浏览器下载。
编辑然而我同意Jeroen关于将其放入可滚动div中的建议。要做到这一点,文件需要是html但你可以使用类似http://www.pdftohtml.net/的东西来使html看起来就像pdf一样。我个人试图强迫我下载一些网站,因为你永远不知道它是什么。在给某人下载文件时我只使用这种方法。否则,希望这就是你要找的东西。