我试图弄清楚如何下载由页面上的内容制成的文本文件。就我而言,这只是纯文本形式的聊天记录。我在管理面板中有一个按钮,可以用来查看聊天记录,还有一个按钮可以用来下载所说的聊天记录。
有关日志格式的示例:
2019-01-30 08:38:00这是聊天记录。
这就是页面上的所有内容。
我用来查看聊天记录的按钮。
<td><a href="chatlog.php?
user='.$rows['user'].'&reportedby='.$rows['reported_by'].'" class="btn btn-
primary btn-sm">View messages</a></td>
<?php session_start();
include 'includes/db.php';
$sender = $_GET['user'];
$receiver = $_GET['reportedby'];
$query = "SELECT * FROM messages WHERE sender='$sender' AND receiver='$receiver'";
$runq = mysqli_query($conn,$query);
while($rows = mysqli_fetch_assoc($runq)) {
echo($rows['date'] . " " . $rows['content']."<br/>");
}
?>
答案 0 :(得分:1)
使用php代码,您可以在下面的示例中完成
<?php
header("Content-type: text/plain");
header("Content-Disposition: attachment; filename=savethis.txt");
// Read your file and print it's content.
// print "This is some text...\n";
`enter code here`
?>
答案 1 :(得分:0)
您可以使用Content-Type
和Content-Disposition
标头对此文件进行归档:
session_start();
include 'includes/db.php';
$sender = mysqli_real_escape_string(conn, $_GET['user']);
$receiver = mysqli_real_escape_string(conn, $_GET['reportedby']);
$query = "SELECT * FROM messages WHERE sender='$sender' AND receiver='$receiver'";
$runq = mysqli_query($conn, $query);
header('Content-Type: text/plain');
header("Content-Disposition: attachment; filename=chatlogs.txt");
while($rows = mysqli_fetch_assoc($runq)) {
echo($rows['date'] . " " . $rows['content']."\r\n");
}
我还用实际的行尾替换了<br/>
,因为它是一个文本文件,如果您使用的是Unix系统,则可能必须将其更改为\ n。并且我添加了mysqli_real_escape_string来保护您的查询免受SQL injection的侵害。