CSV(逗號分隔值)是一種廣泛使用的結構化文本數據格式,PHP 內置多種函數,能夠方便地讀取、寫入和操作CSV 文件,極大地簡化了開發工作。
$handle = fopen('data.csv', 'r');
while (($row = fgetcsv($handle)) !== FALSE) {
// 處理每一行數據
}
fclose($handle);
$handle = fopen('data.csv', 'w');
fputcsv($handle, ['col1', 'col2', 'col3']);
fclose($handle);
$row = fgetcsv($handle);
$values = explode(',', $row[0]);
$row = ['col1', 'col2', 'col3'];
$csvLine = implode(',', $row);
針對內存有限的環境,使用基於生成器的SplFileObject 類可以有效避免內存溢出,適合處理大文件:
$handle = fopen('data.csv', 'r');
$csv = new SplFileObject('data.csv');
$csv->setFlags(SplFileObject::READ_CSV);
foreach ($csv as $row) {
// 處理每一行數據
}
假設您有一個包含用戶名、電子郵件和密碼的CSV 文件,以下代碼演示如何讀取該文件並導入用戶:
// 打開 CSV 文件
$handle = fopen('users.csv', 'r');
// 跳過標題行
fgetcsv($handle);
// 逐行讀取並處理用戶數據
while (($row = fgetcsv($handle)) !== FALSE) {
$username = $row[0];
$email = $row[1];
$password = $row[2];
// 這裡調用自定義函數插入用戶
insert_user($username, $email, $password);
}
fclose($handle);