从多个文件读取内容到数组php

时间:2016-04-13 09:52:32

标签: php html arrays file multidimensional-array

我正在努力解决这个问题我无法解决。

我有一个顺序文本文件,其中包含以下记录:

    First Name : ......;
    Last Name: ......;
    Contact Details:.....;
    Email Address:.....;
    Enquirer Type:.....;
    Contact Method:....;
    Message:....';
    |----------|
    First Name : ......;
    ..............

我在容器中的表格中显示信息时遇到问题

        <!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width">
  <link rel="stylesheet" type="text/css" href="styles/session_Style.css">
    <title>User Session</title>
  </head>
  <body>
    <div class="container">

      <div id="table">
      <?php

$filename = "Contacts.txt";
$content = file_get_contents($filename);
$fileContent = explode('|----------|', $content);

foreach ($fileContent as $number => $contact) {

  echo '<table>';
  echo '<tr><th colspan="2">Contact '.$number.'</th></tr>';

  foreach ($contact as $detail) {
    $detail = explode(':',$detail);
    echo '<tr><td>'.$detail[0].'</td><td>'.$detail[1].'</td></tr>';
  }
  echo '</table>';
}
?>
      </div>      
      <div class="logout">
        <h1>User Details</h1>
        <form method="post" action="">
          <p class="submit"><input type="submit" name="commit" value="Log Out" onclick="document.location.href='home-page.html';"></p>
        </form>
      </div>
    </div>
  </body>
</html>

这是实施您提供的解决方案的正确方法吗?或者有没有办法可以更有效地完成?

1 个答案:

答案 0 :(得分:0)

尝试:

$fileContent[$filenumber] = explode(';',file_get_contents($filename));

$ fileContent是一个文件号为键的数组。因此,文件contact_1的数据将存储在$ fileContent [1]中。 explode()将创建一个包含文件内容的数组,以&#39;;&#39;分隔。 您现在可以使用$ fileContent [2] [0]访问contact_2的第一个名称。这将返回:&#34;名字:.....&#34;

现在为表格:

foreach ($fileContent as $number => $contact) {

  echo '<table>';
  echo '<tr><th colspan="2">Contact '.$number.'</th></tr>';

  foreach ($contact as $detail) {

    $detail = explode(':',$detail);
    echo '<tr><td>'.$detail[0].'</td><td>'.$detail[1].'</td></tr>';

  }

  echo '</table>';

}