【发布时间】:2014-03-20 06:38:32
【问题描述】:
我正在尝试做一个能够从数据库下载 pdf 文件的 ahref,但是在我点击它之后下载一个普通的记事本而不是 pdf 并且里面没有数据。
这是a href
<a href="download.php?id=<?php=$id;?>">Download [pfd]</a> <br>
这是下载.php
<?php
// Connect to the database
$host="localhost"; // Host name
$username="root"; // Mysql username
$password=""; // Mysql password
$db_name="is"; // Database name
$tbl_name="publication"; // Table name
$conn = mysql_connect("$host", "$username", "$password");
if(! $conn )
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db($db_name);
if (isset($_GET["id"]) && !empty($_GET["id"])) {
$id= $_GET['id'];
$query = "SELECT file_name, file_type, file_size, content " .
"FROM $tbl_name WHERE file_id = '$id'";
$result = mysql_query($query) or die(mysql_error());
list($name, $type, $size, $content) = mysql_fetch_array($result);
header("Content-length: $size");
header("Content-type: $type");
header("Content-Disposition: attachment; filename=$name");
echo $content;
mysql_close($conn);
exit;
}
?>
我已将文件名、类型、大小和内容存储在数据库中,但无法以 pdf 格式下载。文件类型为application/pdf。
【问题讨论】:
-
Mysql中“内容”字段的类型是什么?
-
@mesutozer.. 它是 longblob...
-
下载的文件名是否正确?
-
hmmm ...你是什么意思正确的文件名?
-
我的意思是下载的文件名称与数据库中的“file_name”字段相同。或者它有一个通用名称,如“download(1)”?