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);