将mysql单元格转换为文本文件,允许用户下载,然后删除文本文件

时间:2011-04-01 01:04:32

标签: php mysql

如何在php中创建一个函数,当点击链接时,它会下载mySQL表中的某个单元格并允许用户将其下载为.txt文件?下载完成后,文件将被删除。

3 个答案:

答案 0 :(得分:3)

我认为您不需要创建/删除任何文件......

假设您的网页上有链接:

<a href="download.php?id=whatever">Download this as a txt file</a>

我不确定您是如何识别用户想要下载的单元格,但我相信您正在安全有效地进行此操作。

不知何故,您拥有MySQL单元格的表名,行和列。所以你只需做一个简单的查询......

$result = mysqli_query('select the cell', $your_db);
$result = mysqli_fetch_assoc($result);
$result = $result['cell_name'];

这为您提供了该单元格作为简单PHP变量的值。现在您需要做的就是将其输出给用户:

header('content-type: text/plain');
echo $result;

那应该将单元格的值打印到屏幕上,作为简单文本。然后,用户可以保存页面。 :d

编辑 - 强制下载

我没有测试过这个,但基本的想法是添加一些标题:

header('content-type: text/plain');
header('Content-Disposition: attachment; filename=whatever.txt');
header('Pragma: no-cache');
echo $result;

答案 1 :(得分:1)

首先不要创建文件。 Force a download,然后发送短信。

答案 2 :(得分:1)

$text = mysql_query("SELECT content FROM texts WHERE id = $id");
$text = mysql_fetch_assoc($text);
$text = $text["content"];

header("Content-type: text/plain");
header("Content-disposition: attachment;filename=\"filename.txt\"");
header("Content-Length: ".strlen($text)); 

echo($text);
相关问题