从php无法正常下载数据库中附带的.text文件

时间:2013-10-01 07:57:47

标签: php database download blob

我有使用以下代码的问题,我不知道我做错了什么。我想从MySQL数据库下载文件名的链接

<tr>                        
<td>Employee Name</td>
<td>Project Name</td>
<td>Module Name</td>
<td>Task Name</td>
<td>File Attached</td>
</tr>

<?php
header("Content-type: plain text");
header("Content-Disposition: attachment; filename=file_attachment");
foreach($tel as $data){    
echo "<tr><td>"."<a href>".$data[file_attachment]."</td></tr>";
} ?>

当我加载此页面时输出就像下载页面的HTML文档..... 请有人向我建议,如何从数据库中获取存储文本文件的下载链接。

1 个答案:

答案 0 :(得分:0)

首先:在发送任何输出之前,你必须先标题,所以在你发送任何HTML之前。 第二:你是否按目的使用HTML?我只是问,因为你想生成一个文本文件,我猜一个CSV,所以我的anwer会假设这个。 所以,我会做的是这样的事情:

<?php
    $output = 'Employee Name;Project Name;Module Name;Task Name;File Attached'; //The headline of the CSV to explain the entries
    $tel = array();
    foreach($tel as $data){
        $output .= PHP_EOL . ';' . $data["emp_name"] . ';' . $data["proj_name"] . ';' . $data["mod_name"] . ';' . $data["task_name"] . ';' . $data["file_attachment"];
    }

    $type = "text/csv";
    $size = strlen( $output );
    $filename = "table.csv";

    header("Content-type: " . $type);
    header("Content-length: " . $size);
    header("Content-Disposition: attachment; filename=" . $filename);
    header("Content-Description: PHP Generated Data");
    echo $output;
?>