PHP 提供了讀取、寫入、解析和拼接 CSV 檔案的便捷函數,並提供了處理大 CSV 檔案的生成器函數。本文示範如何使用這些函數從 CSV 檔案中讀取使用者資料並將其匯入資料庫。

使用PHP 函數處理CSV 資料
CSV(逗號分隔值)檔案是保存結構化資料的簡單文本格式。 PHP 提供了多種函數,可用於輕鬆快速地處理和操作 CSV 資料。
讀取CSV 檔案
1 2 3 4 | $handle = fopen ( 'data.csv' , 'r' );
while (( $row = fgetcsv ( $handle )) !== FALSE) {
}
|
登入後複製
寫入CSV 檔案
1 2 | $handle = fopen ( 'data.csv' , 'w' );
fputcsv ( $handle , [ 'col1' , 'col2' , 'col3' ]);
|
登入後複製
解析CSV 行
#
1 2 | $row = fgetcsv ( $handle );
$values = explode ( ',' , $row [0]);
|
登入後複製
拼接CSV 行
1 2 | $row = [ 'col1' , 'col2' , 'col3' ];
$csvLine = implode( ',' , $row );
|
登入後複製
處理大CSV 文件
對於大型CSV 文件,使用以下基於生成器的函數可以避免記憶體不足的問題:
1 2 3 4 5 6 7 | $handle = fopen ( 'data.csv' , 'r' );
$csv = new SplFileObject( $handle );
$csv ->setFlags(SplFileObject::READ_csv);
foreach ( $csv as $row ) {
}
|
登入後複製
實戰案例:從CSV 文件導入用戶
假設您有一個包含用戶資料的CSV 文件,其中每行包含用戶姓名、電子郵件和密碼。以下 PHP 程式碼示範如何使用 PHP 函數從 CSV 檔案匯入使用者:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | $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 );
}
|
登入後複製
以上是如何使用 PHP 函數處理 CSV 資料?的詳細內容。更多資訊請關注PHP中文網其他相關文章!