2016-03-06 69 views
0

我用下面的代码PHP/HTML:下载PDF链接在页面加载工作

<?php 
$file = 'COMPANY_PROFILE.pdf'; 

if (! file) { 
    die('file not found'); //Or do something 
} else { 
    // Set headers 
    header("Cache-Control: public"); 
    header("Content-Description: File Transfer"); 
    header("Content-Disposition: attachment; filename=$file"); 
    header("Content-Type: application/zip"); 
    header("Content-Transfer-Encoding: binary"); 
    // Read the file from disk 
    readfile($file); 
} 

这自动给出一个下载文件的提示,如果我使用的是这样的:

<a href="COMPANY_PROFILE.pdf" target="_blank" ">Download PDF </a> 

它在浏览器中打开PDF文件,那么我该如何解决这个问题,让文件在点击按钮时被下载?

+0

此代码是否在某种事件上运行?请分享您的正确代码。在上面的代码中,它看起来像你使用错误的条件。 –

+0

我刚刚得到了这段代码,我知道这个条件说下载,如果它存在如何检测一个点击在PHP?这是整个工作代码 – Sikander

+0

你可以用ajax调用或者发布一些东西给php。所以你可以告诉代码,如果这个事件调用然后应用这个代码。 –

回答

1

您可以通过不同的方法实现您想要的结果。通过这种方式,你正在做的事情正确知道你告诉php如果文件不存在,就查找一个文件,只显示该文件不会退出存在的其他明智的显示文件。

但是你要找的东西应该在某种事件上执行。例如按钮点击。

你可以通过这种方法来实现这一点。

AJAX调用

通过一个按钮上点击一个AJAX调用去这个PHP函数。

发布PHP

要么你可以张贴一些事情PHP和PHP代码,你可以告诉你的代码,如果这个特定的名字已经公布,然后下载PDF,否则不给。

+0

是的,我没有安装href =“index.php?file = name,pdf”,然后在$ _GET ['file']中获得了这个值,并在isset中使用上面的代码 – Sikander

+0

好解释bro – devpro