как записать html-таблицу в .txt-файл с помощью php

#php #html #mysql #yii #yii2-advanced-app

#php #HTML #mysql #yii #yii2-advanced-app

Вопрос:

Я хочу экспортировать записи с данными в .txt-файл и использую для этого функцию обработки файлов, но когда я пытаюсь создать таблицу в txt-файле, это выдаст мне следующий результат:

введите описание изображения здесь

выполнив это

     $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);
  

но ожидаемый результат:

введите описание изображения здесь

может кто-нибудь, пожалуйста, помочь мне, как я могу этого добиться?

Комментарии:

1. для меня это выглядит так же? с заголовками. вы не используете какой-либо цикл для печати данных?

2. Насколько я вижу, нет <tr><th colspan="4">Header Record</th></tr>

3. @devpro прямо сейчас я просто печатаю только ее заголовок, но он печатается как текст вместо заголовка таблицы

4. @PriyankaMehra вам нужна точная таблица в текстовом файле, а не в коде? я прав?

5. @M.Hemant, да, мне нужен формат таблицы

Ответ №1:

Таблица, которую вы видите / хотите, — это просто таблица HTML по умолчанию, стилизованная браузером. Файлы TXT содержат только текст без оформления, с которым ваш файл, похоже, справляется довольно хорошо.

Вы могли бы записать выходные данные в виде CSV-файла, что позволило бы пользователям просматривать файл в Excel (в основном в big table)

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

У меня не было времени протестировать этот код, но, согласно документам, он должен работать.

Вы также можете написать свою собственную txt-таблицу, хотя я не рекомендую этого делать, поскольку некоторые столбцы всегда будут больше других.

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