0

我在我的数据库表中做了一些输入,并与它的 html 标签一起保存。现在,我希望它由用户下载。我想删除 html 标签。由于我的数据库表中的文件输入没有格式,我希望下载文件作为文档文件下载,并且必须与 MS word 兼容。

到目前为止,我有这个用于下载页面

<?php
if(isset($_GET['id']))
{
include 'connect.php';


$id    = $_GET['id'];
$result = mysql_query("SELECT title, content, format FROM activity WHERE id = '$id'");

list($title, $content, $format) = mysql_fetch_array($result);
strip_tags($content);
header("Content-type: $format");
header("Content-Disposition: attachment; filename=$title");
echo $content;

mysql_close;
exit;

}

?>
4

1 回答 1

1

您的脚本存在不止一个问题:

首先,如果您确定查询只返回 1 个值,请添加 LIMIT 1。然后,要返回您的值,请使用 $contents = $result[0]['content'];

此外,文件名是文件名,而不是内容。最后,阅读一些有关 HTTP 标头的文档: Content-Disposition 不足以发送您的文件,即使您希望与 MSword 兼容...

“将出现下载提示。我下载文件。我在 MS WOrd 中打开它,它显示了我用 html 标签保存的内容”=>也许你只是在数据库中 htmlentities 你的标签。尝试这个:

<?php
strip_tags(html_entity_decode($contents));
?>
于 2012-07-03T14:43:55.600 回答