【发布时间】:2015-01-15 09:37:38
【问题描述】:
每次我尝试下载时,它都会生成正确的文件名和扩展名(文件),但已损坏(通常大小为 1kb,无法打开,在这种情况下,我的文件是 .docx 格式,大小约为 12kb)。我正在使用 XAMPP,我使用 phpmyadmin 来查看我的 sql 数据库。上传脚本用于将文件从计算机存储到数据库。
这是我的上传脚本: - 根据答案编辑
<?php
session_start();
include("connect.php");
$nametemp=$_SESSION['name'];
$nistemp=$_SESSION['nislogin'];
$subjecttemp=$_SESSION['subject'];
$chapter=$_POST['chapter'];
$name=$_FILES['browsefile']['name'];
$mime=$_FILES['browsefile']['type'];
$data=file_get_contents($_FILES['browsefile']['tmp_name']);
$size=$_FILES['browsefile']['size'];
mysql_query("INSERT INTO assignment (name, mime, size, data, created, uploader, subject, chapter) VALUES ('$name', '$mime', '$size', '$data', NOW(), '$nametemp', '$subjecttemp', '$chapter')");
header("location:subject.php");
die();
?>
这里是下载脚本:-根据答案编辑
<?php
session_start();
include("connect.php");
$nametemp=$_SESSION['name'];
$nistemp=$_SESSION['nislogin'];
$classtemp=$_SESSION['class'];
$subjecttemp=$_SESSION['subject'];
$idtemp=$_GET['id'];
$query=("SELECT mime, name, size, data FROM assignment WHERE id='$idtemp'");
$result=mysql_query($query);
$filename=mysql_result($result,0,"name");
$filesize=mysql_result($result,0,"size");
$filemime=$type=mysql_result($result,0,"mime");
$filedata=mysql_result($result,0,"data");
header("Content-disposition: attachment; filename=$filename");
header("Content-length: $filesize");
header("Content-type: $filemime");
header("Content-transfer-encoding: binary");
echo $filedata;
?>
如果您想知道,这里是“分配”表结构的屏幕截图:image
【问题讨论】: