如何使用php在.txt文件中写入html表

时间:2019-03-18 11:02:00

标签: php html mysql yii yii2-advanced-app

我想在.txt文件中导出数据表记录,并正在通过文件处理功能来执行此操作,但是当我尝试在txt文件中创建表时,它将为我提供以下输出:

enter image description here

这样做

    $fileName = 'filenametxt'.date('Y_m_d_H_i_s').".txt";
    $filePath = $upload_path.'/file_folder_txt/';
    $fileNameWithPath = $filePath.$fileName;

    $txtHeaderData .= '<table id="" class="uk-table uk-table-hover uk-    table-striped uk-table-condensed" border="0" cellpadding="5">
        <tr>
            <th>Location</th>
            <th>Filed Name</th>
            <th>Length</th>
            <th>Description of Fields</th>
        </tr>

    ';
    $txtHeaderData .= '</table>';
    $handle = fopen($fileNameWithPath, "w");
    fwrite($handle, $txtHeaderData);

,但预期输出为:

enter image description here

能不能帮我实现这一目标?

1 个答案:

答案 0 :(得分:0)

您看到/想要的表只是一个默认的HTML表,由浏览器设置样式。 TXT文件仅包含文本,没有样式,您的文件似乎做得很好。

您可以将输出编写为CSV文件,这样人们就可以在Excel中查看文件(基本上在大表上)

$fp = fopen('output.csv', 'w');
$fields = array("location", "field name", "length", "description");
fputcsv($fp, $fields);
fputcsv($fp, $fields);

我还没有时间测试这段代码,但是根据docs,它应该可以工作。

您也可以编写自己的txt表,但我不建议您这样做,因为某些列总是比其他列大。

$csvHeaderData = "----------------------------------------" . PHP_EOL;
$csvHeaderData .= "| Location | Field name | Length | Description |" . PHP_EOL;
$csvHeaderData .= "---------------------------------------";