首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 相關知識

PHP 讀取 CSV 並輸出 HTML 表格的完整範例

     編輯:PHP 相關知識

前言

將 CSV 資料以 HTML 表格呈現是常見後台報表需求。本文示範完整流程:開啟檔案、逐行解析、輸出表格、正確編碼與資源釋放。

完整程式碼

<?php
$file = 'sample.csv';

$handle = fopen($file, 'r');
if (!$handle) {
    die("無法開啟檔案: $file");
}

// 輸出表格開頭
echo "\n";

$rowNum = 0;
while (($csvLine = fgetcsv($handle)) !== FALSE) {
    $rowNum++;
    echo "  \n";
    foreach ($csvLine as $cell) {
        // htmlentities 防止 XSS,ENT_QUOTES 轉義雙引號
        $safe = htmlentities($cell, ENT_QUOTES, 'UTF-8');
        echo "    \n";
    }
    echo "  \n";
}

echo "
$safe
\n"; fclose($handle); echo "共讀取 $rowNum 列資料。"; ?>

關鍵點解析

  • fgetcsv() 自動處理欄位內含逗號、引號、換行(需雙引號包裹)。
  • htmlentities() 將特殊字元轉為 HTML 實體,防止 XSS 攻擊,指定 ENT_QUOTES 兼顧單雙引號。
  • 編碼一致:第三參數 'UTF-8' 確保中文正確轉碼,若 CSV 為 Big5 需先 iconv() 轉碼。
  • 資源管理:fclose() 釋放檔案控制代碼,避免洩漏。

進階:加入標題列樣式與 CSS

<?php
$handle = fopen('sample.csv', 'r');
$header = fgetcsv($handle); // 讀取第一列作為標題
?>

大檔案處理建議

  • 使用 SplFileObject 物件導向風格,自動管理資源。
  • 分頁顯示:配合 LimitIterator 只讀取指定範圍。
  • 匯出大量資料時,考慮直接輸出 CSV 下載而非 HTML 表格,減少記憶體與頻寬。

總結

CSV 轉 HTML 表格核心在於 fgetcsv() + htmlentities(),注意編碼與安全即可產出整潔報表。希望本文對您的 PHP 程式設計有所幫助。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved