將 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 " $safe \n";
}
echo " \n";
}
echo "
\n";
fclose($handle);
echo "共讀取 $rowNum 列資料。";
?>
ENT_QUOTES 兼顧單雙引號。'UTF-8' 確保中文正確轉碼,若 CSV 為 Big5 需先 iconv() 轉碼。fclose() 釋放檔案控制代碼,避免洩漏。<?php
$handle = fopen('sample.csv', 'r');
$header = fgetcsv($handle); // 讀取第一列作為標題
?>
= htmlentities($h, ENT_QUOTES, 'UTF-8') ?>
= htmlentities($cell, ENT_QUOTES, 'UTF-8') ?>
SplFileObject 物件導向風格,自動管理資源。LimitIterator 只讀取指定範圍。CSV 轉 HTML 表格核心在於 fgetcsv() + htmlentities(),注意編碼與安全即可產出整潔報表。希望本文對您的 PHP 程式設計有所幫助。