Php 单击<;后如何插入数据库;a>;href链接?

Php 单击<;后如何插入数据库;a>;href链接?,php,javascript,jquery,html,Php,Javascript,Jquery,Html,我有一个下载链接,我希望每次有人点击下载时,我都能将下载总量+1插入数据库。 用于插入我通常使用的数据库 <form method="POST"> <input type="submit" name="download" value="Download"> </form> 但我不知道在表单中单击下载按钮后如何触发下载。要使提交按钮像html链接一样工作,请将onclick属性添加到提交按钮 <input type="submit" onClick="p

我有一个下载链接
,我希望每次有人点击下载时,我都能将下载总量+1插入数据库。 用于插入我通常使用的数据库

<form method="POST">
<input type="submit" name="download" value="Download">
</form>

但我不知道在表单中单击下载按钮后如何触发下载。

要使提交按钮像html链接一样工作,请将onclick属性添加到提交按钮

<input type="submit" onClick="parent.location='http://website/filename.pdf'" 
 name="download" value="Download">

快速简便的方法是:

header('Location: http://website/filename.pdf');
要对参数进行更多控制,可以使用以下代码:

header('Content-Type: application/pdf');
header('Content-Disposition: attachment; filename="somename.pdf');
header('Content-Length: '.filesize($filepath) );
readfile($filepath);


我不确定引用的内容。

关于kgm的答案(绝对正确),您应该确保要下载的文件相当小,因为readfile()将所有文件内容读取到内存中,这可能会导致内存耗尽。为了避免这种情况,请查看本网站用户贡献中的“readfile_chunked”:


干杯:)

根据用户连接、服务器和浏览器的响应时间,这并不保证会触发下载,如果打开链接,则可能会发生表单未发送,因此计数将不起作用。您有两种选择:使用jquery调用(单击时)一个增加下载次数的php服务,或者使用一个php页面,该页面基于ID(类似于)为静态文件提供服务,同时也增加数据库中的值。
header('Content-Type: application/pdf');
header('Content-Disposition: attachment; filename="somename.pdf');
header('Content-Length: '.filesize($filepath) );
readfile($filepath);
<a href="http://website/filename.pdf" onclick='$.post("name_of_page.php", {download: "Download"});'>Download</a>