我需要从保存的目录下载文件。我使用了以下代码
$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文档可能无法正确显示。
谁能告诉我我出了什么问题吗?
发布于 2015-10-19 03:27:40
首先,头调用之前的echo应该给出一个错误,如果您有错误检查。
然后fopen创建一个流句柄,但是您对它什么也不做。readfile()将向客户端发送该文件。
https://stackoverflow.com/questions/33206012
复制相似问题