从 txt 文件创建 HTML table

Create HTML table from txt file

我对我的功能进行了以下尝试,但它只是在一行中打印出 contacts.txt 文件中的所有内容...

function contactsTable(){

  $file = fopen("contacts.txt", "r") or die("Unable to open file!");
  echo "<tr><th>";
  while (!feof($file)){
    echo "<tr><th>";
      $data = fgets($file); 
      echo "<tr><td>" . str_replace(',','</td><td>',$data) . '</td></tr>';
  }
  echo "<tr><th>";
  echo '</table>';
  fclose($file);
}

contacts.txt 这样的例子;

Row 1 is headers --->  [value1, value2, value3, value4]
Row 2 is data --->     [value5, value6, value7, value8]

是否可以更改我的函数,以便第 1 行使用 <th> 标签,以便将它们格式化为 headers,其余行进入 <td> 标签 table数据?我试图修改逻辑,但似乎无法理解。

TIA

这是您的 contactsTable() 函数,它将第一行 contacts.txt 打印为 table header 和一些基本的 HTML 格式以便于 reading/debugging.

function contactsTable() {
  $file = fopen('contacts.txt', 'r') or die('Unable to open file!');
  $row = 0;

  echo '<table>' . PHP_EOL;

  
  while (!feof($file)) {
    $row++;
    $data = fgets($file);

    if ($row === 1) {
      echo '<tr>' . PHP_EOL;
      echo '<th>' . str_replace(',', '</th><th>', $data) . '</th>' . PHP_EOL;
      echo '</tr>' . PHP_EOL;
    } else {
      echo '<tr>' . PHP_EOL;
      echo '<td>' . str_replace(',', '</td><td>', $data) . '</td>' . PHP_EOL;
      echo '</tr>' . PHP_EOL;
    }
  }

  echo '</table>' . PHP_EOL;

  fclose($file);
}