0

我使用以下代码时遇到问题,我不知道我做错了什么。我想从 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 文档.....请任何人向我建议,如何实现从数据库中存储的文本文件的下载链接。

4

1 回答 1

0

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

<?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;
?>
于 2013-10-01T08:33:41.957 回答