我正在为客户开发一个小型 CMS。
客户端可以将文件(工作正常)上传到 mysql 数据库中。
我想实现文件下载,以便客户端也可以下载文件,类似于云。
这是我的问题:我正在正确访问数据库,寻址文件头,并通过浏览器下载文件 -
这就是问题所在 -
文件正在保存,没有任何内容。这是一些代码:
//Downloading a file?
if (isset($_POST["mdownload"])){
//Change string to integer
$fid = intval($_POST["mdownload"]);
//Conect to DB
$con = mysqli_connect('localhost','****','****','the_DB');
//Make a query
$query = "SELECT * FROM files WHERE id = ".$fid.";";
$result = mysqli_query($con, $query);
//Assign File Row
$row = mysqli_fetch_row($result);
//Piece header info together
$filename = $row[2].".".$row[3];
$thefile = $row[5];
$mime = $row[6];
header('Content-Description: File Transfer');
header("Content-Type: application/force-download");
header("Content-Type: application/octet-stream");
header('Content-Type: '.$mime);
header('Content-Disposition: attachment; filename='.$filename);
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header('Content-Length: ' . filesize($thefile));
ob_clean();
flush();
fread($thefile);
exit;
}
我还需要通过数字索引引用我的文件数组并且不能使用 $row['file']。
我已经为此失去了一天的生命:/