PDF可下载的PHP

时间:2015-10-19 03:06:49

标签: php mysql pdf

我需要从保存的目录下载文件。我使用了以下代码

 $sqlh = mysql_query("SELECT * FROM tbl_health WHERE tbl_users_users_id = '".$id."'", $con) or die(mysql_error());

        while($data = mysql_fetch_array($sqlh)){

             $data['link'];
            echo "<a href='view.php?id=" .$data['health_id']. "'>Download</a>";

        }

view.php是

require_once('includes/db.php');
if(isset($_GET['id'])){
$sql = mysql_query("SELECT * FROM tbl_health WHERE     health_id='".$_GET['id']."'") or die(mysql_error());
echo $_GET['id'];
$data = mysql_fetch_array($sql);
$file = $data['link'];
$name = "health/".$file;
header("Content-Type: application/pdf");
header("Content-Length: ". filesize($name));
header("Content-Disposition:attachment;filename=". $file);
$fp = @fopen($name, "r");
    fclose($fp);
}

文件正在下载,但是当我打开它时,文件内容丢失了。当我尝试通过浏览器打开它时,此PDF文档可能无法正确显示

任何人都可以告诉我我的错误。

1 个答案:

答案 0 :(得分:1)

首先,如果您检查错误,则在标头调用之前echo应该给您一个错误。

然后fopen创建一个流句柄,但你什么都不做。 readfile()会将文件发送给客户。