首頁  >  文章  >  後端開發  >  如何使用 PHP 顯示 CSV 檔案中的資料?

如何使用 PHP 顯示 CSV 檔案中的資料?

WBOY
WBOY原創
2024-08-28 10:35:06873瀏覽

How to Display Data from CSV file using PHP?

在本文中,我們將學習如何使用 PHP 使用 fgetcsv()、str_getcsv 和 SplFileObject 函數顯示 CSV 檔案中的資料。

CSV 檔案是一種簡單的檔案格式,用於儲存以逗號分隔值的數據,其中的每一行代表表格資料中的一筆記錄。要使用 PHP 讀取 CSV 文件,我們將使用 fgetcsv() 函數,該函數從 CSV 檔案中讀取一行並傳回表示該行中存在的 CSV 資料的值數組。

讓我們藉助下面的範例來理解這一點 -

範例1

在此範例中,我們將使用 fgetcsv() 函數讀取資料 CSV 文件,並使用 HTML 表格標籤以表格格式顯示值。

本例中使用的 CSV 檔案 -

數據.csv

Name, Age, City
John, 30, New York
Mary, 25, Los Angeles
Tom, 40, Chicago

檔名:index.php

<html lang="en">
<head>
   <title>How to Display Data from CSV file using PHP?</title>
</head>
<body>
  <h3>How to Display Data from CSV file using PHP?</h3>
  <?php
    $csvFile = fopen('Data.csv', 'r');

    echo '<table>';
    while (($data = fgetcsv($csvFile, 1000, ",")) !== FALSE) {
      echo '<tr>';
      foreach ($data as $value) {
        echo '<td>' . htmlspecialchars($value) . '</td>';
      }
      echo '</tr>';
    }
    echo '</table>';

    fclose($csvFile);
	?>
</body>
</html>

範例2

在此範例中,我們將讀取包含姓名、年齡和性別的學生 CSV 文件,並且我們將使用 3 種不同的方法(分別使用 str_getcsv、fgetcsv 和 SplFileObject 方法)以表格格式顯示他們的資料。

學生.csv

Name,Age,Gender
John Doe,25,Male
Jane Smith,30,Female
Bob Johnson,40,Male
Sara Lee,22,Female

檔名:index.php

<html lang="en">
<head>
   <title>How to Display Data from CSV file using PHP?</title>
</head>
<body>
  <h3>How to Display Data from CSV file using PHP?</h3>
  
  <!-- Method 1: str_getcsv -->
  <?php
    $csvData = file_get_contents('students.csv');
    $rows = str_getcsv($csvData, "<br>"); // Split CSV data into rows
    
    echo '<h4>Method 1: str_getcsv</h4>';
    echo '<table>';
    echo '<thead><tr><th>Name</th><th>Age</th><th>Gender</th></tr></thead>';
    echo '<tbody>';
    
    foreach ($rows as $row) {
      $values = str_getcsv($row, ","); // Split row into values
      echo '<tr>';
      foreach ($values as $value) {
        echo '<td>' . htmlspecialchars($value) . '</td>';
      }
      echo '</tr>';
    }
    
    echo '</tbody></table>';
  ?>
  
  <!-- Method 2: Combine fgetcsv() and HTML -->
  <?php
    echo '<h4>Method 2: Combine fgetcsv() and HTML</h4>';
    $csvFile = fopen('students.csv', 'r');
    echo '<table>';
    echo '<thead><tr><th>Name</th><th>Age</th><th>Gender</th></tr></thead>';
    echo '<tbody>';
    while (($data = fgetcsv($csvFile, 1000, ",")) !== FALSE) {
      echo '<tr>';
      foreach ($data as $value) {
        echo '<td>' . htmlspecialchars($value) . '</td>';
      }
      echo '</tr>';
    }
    echo '</tbody></table>';
    fclose($csvFile);
  ?>
  
  <!-- Method 3: using SplFileObject -->
  <?php
    echo '<h4>Method 3: using SplFileObject</h4>';
    $csvFile = new SplFileObject('students.csv', 'r');
    $csvFile->setFlags(SplFileObject::READ_CSV);
    
    echo '<table>';
    echo '<thead><tr><th>Name</th><th>Age</th><th>Gender</th></tr></thead>';
    echo '<tbody>';
    
    foreach ($csvFile as $row) {
      echo '<tr>';
      foreach ($row as $value) {
        echo '<td>' . htmlspecialchars($value) . '</td>';
      }
      echo '</tr>';
    }
    
    echo '</tbody></table>';
  ?>

結論

總之,使用 PHP 顯示 CSV 檔案中的資料是使用 fgetcsv() 函數的簡單過程。透過 HTML 標籤,我們可以輕鬆地以表格格式顯示資料。透過遵循本文提供的範例,我們學會了用 PHP 讀取和顯示 CSV 檔案中的數據,這在各種應用程式中都很有用。

以上是如何使用 PHP 顯示 CSV 檔案中的資料?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn