gpt4 book ai didi

php - 知道为什么通过 PHP 下载时文件会损坏吗?

转载 作者:行者123 更新时间:2023-11-28 13:53:49 24 4
gpt4 key购买 nike

我可以上传和下载,但下载的文件已损坏。我测试下载的文件类型是 Word 文档。

我的下载代码如下:

if(isset($_GET['id'])){
include 'Library/opendb.php';

$id = $_GET['id'];
echo $id;
$query = "SELECT name,type,size,content "."FROM filetble WHERE id = '$id'";

$result = mysql_query($query,$con) or die('Error, query failed');
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;
include 'Library/closedb.php';
exit;
}

感谢您的帮助。

表:

   CREATE TABLE IF NOT EXISTS `filetble` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(50) NOT NULL,
`type` varchar(20) NOT NULL,
`size` int(11) NOT NULL,
`content` mediumblob NOT NULL,
UNIQUE KEY `id` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=13 ;

最佳答案

您所呼应的不仅仅是文档的内容:您首先拥有以下内容:

echo $id;

只有这样你才拥有:

echo $content;

如果您回显的不仅仅是文档内容,则很有可能您不会输出有效的 Word 文档 => 删除第一个 echo


如果这没有帮助,一个想法是查看(例如使用十六进制编辑器):

  • 您期望获得的文件(数据库中内容字段中的内容)
  • 以及您收到的实际内容

您可能会发现存在一些差异;例如,开头有空格?

如果没有差异...那么,您确定数据库中的内容 100% 正确吗?

关于php - 知道为什么通过 PHP 下载时文件会损坏吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9248894/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com