如何从php下载文件,当它作为TEXT存储在mysql表中时,不是blob?

时间:2012-08-18 15:07:38

标签: php mysql download

我还希望能够格式化扩展,例如添加.xml或其他东西。 我知道如何下载blob文件,包含所有文件大小,名称等(更改标题),但是我是否只需要一个文本文件?

1 个答案:

答案 0 :(得分:4)

有几种方法可以实现这一目标。我会设置一个像这样的表'文件':

CREATE TABLE  'files' (
id INT( 5 ) NOT NULL AUTO_INCREMENT,
extension VARCHAR( 4 ) NOT NULL DEFAULT 'txt',
content_type VARCHAR( 20 ) NOT NULL DEFAULT 'text/plain',
data VARCHAR( 100000 ) NOT NULL,
PRIMARY KEY (id) );

download.php代码:

$id = mysqli_real_escape_string($link, $_GET['id']);
$SELECT = "SELECT * FROM files WHERE id = $id";
$result = mysqli_query($SELECT, $link);
$result = mysqli_fetch_assoc($result);

header("content-type: $result['content_type']");
echo $result['data'];

HTML:

<a href="download.php?id=$_GET['id']">download file</a>