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

PHP 使用 fgetcsv() 讀取 CSV 檔案並輸出 HTML 表格

     編輯:PHP 綜合知識

fgetcsv() 從檔案控制代碼逐行讀取並解析 CSV,自動處理跳脫字元,回傳欄位陣列。配合 HTML 表格即可快速呈現。

基本語法

fgetcsv(resource $stream, int $length = 0, string $separator = ",", string $enclosure = "\"", string $escape = "\\"): array|false

完整範例:CSV → HTML 表格

<?php
$fp = fopen('sample.csv', 'r');
if (!$fp) die("無法開啟檔案");

echo "<table border='1'>\n";
while (($csv_line = fgetcsv($fp)) !== false) {
    echo "<tr>";
    foreach ($csv_line as $cell) {
        echo "<td>" . htmlspecialchars($cell) . "</td>";
    }
    echo "</tr>\n";
}
echo "</table>\n";
fclose($fp);
?>

關鍵點

  • 必須用 htmlspecialchars() 防止 CSV 內含 HTML/JS 導致 XSS
  • $length = 0 (預設) 表無行長度限制,PHP 5.1+ 支援
  • 自動處理欄位內換行、逗號、引號

指定編碼轉換

// CSV 為 Big5,轉 UTF-8 顯示
$line = array_map(fn($c) => iconv('Big5', 'UTF-8', $c), $csv_line);

大檔案分頁讀取

function csvPage($file, $page, $perPage = 50) {
    $fp = fopen($file, 'r');
    $skip = ($page - 1) * $perPage;
    for ($i = 0; $i < $skip; $i++) fgetcsv($fp); // 略過
    $data = [];
    for ($i = 0; $i < $perPage; $i++) {
        $row = fgetcsv($fp);
        if (!$row) break;
        $data[] = $row;
    }
    fclose($fp);
    return $data;
}

fgetcsv() 是 PHP 讀取 CSV 的標準工具,安全、高效、標準相容。

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