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 を送信する前にヘッダーを作成する必要があります。2 番目: 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 に答える