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']; を使用します。

さらに、 filename はコンテンツではなくファイル名です。最後に、HTTP ヘッダーに関するいくつかのドキュメントを読んでください: Content-Disposition は、ファイルを送信するには十分ではありません。

「ダウンロードプロンプトが表示され、ファイルをダウンロードします。MS WOrd で開くと、html タグで保存したコンテンツが表示されます」 => たぶん、データベース内のタグを htmlentities するだけです。これを試して:

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