【发布时间】:2015-12-26 16:05:57
【问题描述】:
我做了一个支持pdf文件下载的php页面。从mysql服务器带来的每个pdf文件。 但是,我遇到了一个问题,我下载的 php 页面错误文件,我无法打开。但是,它的文件大小与mysql服务器的原始文件相同,我可以打开它们。
我该如何解决这个问题??
听到的是我的 php 代码。
</head>
<?php
session_start();
require_once 'login.php';
$db_server = mysql_connect($db_hostname,$db_username,$db_password);
if(!$db_server) die("Unable to connect to MySQL: ".mysql_error());
mysql_query("set session character_set_connection=utf8;");
mysql_query("set session character_set_results=utf8;");
mysql_query("set session character_set_client=utf8;");
mysql_select_db($db_database)
or die("Unable to select database : " .mysql_error());
$row=0;
$doc_id=$_GET["q"];
$User_ID=$_SESSION["user_id"];
$User_type=$_SESSION["user_type"];
$sql = "Select `title`, `file` From Original_Reports Where `document_id` = '".$doc_id."';";
$results = mysql_query($sql);
$filename = mysql_result($results, 0, 0);
$filedata = mysql_result($results, 0, 1);
$mimetype = 'application/pdf';
$fileSize = filesize($filedata);
header("Pragma: public");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Cache-Control: public");
header("Content-Description: File Transfer");
header("Content-Type: $mimetype");
$header="Content-Disposition: attachment; filename=".$filename.";";
//$header="Content-Disposition: download; filename=".$filename.";";
header($header);
header("Content-Transfer-Encoding: binary");
header("Content-length: ".$fileSize);
// @readfile($filedata);
echo $filedata;
?>
【问题讨论】:
-
Original_File列存储文件在您的服务器上的位置? -
@Musa 是 Original_File 是存储文件的列