我有一个用PHP编写的下载脚本。我的视图文件脚本链接到ids,然后选择与ID匹配的所有数据。
然后使用该数据下载照片。我的照片在文件夹中是否重要?它被移动到一个文件夹,然后该目录被上传到MYSQL数据库。
此刻的代码现在允许一些文件完美下载,然后大多数文件被损坏。有什么理由吗?
Mysql table info...
$cool = $_GET['id'];
$sql = "SELECT id, type, name, size FROM upload WHERE id='$cool'";
$result = mysql_query($sql, $db);
$data = mysql_result($result, 0, "id");
$name = mysql_result($result, 0, "name");
$size = mysql_result($result, 0, "size");
$type = mysql_result($result, 0, "type");
header("Content-type: $type");
header("Content-length: $size");
header("Content-Disposition: attachment; filename=$name");
header("Content-Description: PHP Generated Data");
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');
ob_clean();
flush();
readfile($name);
exit();
答案 0 :(得分:1)
这是因为PHP在您回显数据后发送了一些信息,解决方法是在回显数据后立即停止处理,在exit();
之后立即添加echo $data
。