如何以注册形式包含可下载的PDF?

时间:2014-01-20 16:16:53

标签: php html forms

我正在编写注册表单,需要在复选框旁边添加一个pdf文件。 pdf文件包含用户在发送表单之前需要同意的重要信息。当您单击复选框旁边显示的文件名时,浏览器必须询问您是否要查看或下载该文件。

我如何实现这一点?

1 个答案:

答案 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一样。我个人试图强迫我下载一些网站,因为你永远不知道它是什么。在给某人下载文件时我只使用这种方法。否则,希望这就是你要找的东西。