Hàm fgetcsv
Hàm fgetcsv đọc một dòng từ tệp và phân tách nó thành các trường theo định dạng CSV. Tham số đầu tiên hàm nhận một con trỏ tới tệp đã mở, tham số thứ hai - độ dài tối đa của dòng, tham số thứ ba - ký tự phân tách trường (mặc định là dấu phẩy), tham số thứ tư - ký tự giới hạn (mặc định là dấu ngoặc kép), tham số thứ năm - ký tự thoát.
Cú pháp
fgetcsv(
resource $handle,
int $length = 0,
string $separator = ",",
string $enclosure = "\"",
string $escape = "\"
);
Ví dụ
Hãy đọc tệp CSV từng dòng và xuất nội dung:
<?php
$file = fopen('data.csv', 'r');
while (($row = fgetcsv($file)) !== false) {
print_r($row);
}
fclose($file);
?>
Kết quả thực thi mã cho tệp có nội dung "a,b,c":
['a', 'b', 'c']
Ví dụ
Đọc CSV với việc chỉ định độ dài tối đa của dòng và dấu phân tách tùy chỉnh:
<?php
$file = fopen('data.csv', 'r');
while (($row = fgetcsv($file, 1000, ';')) !== false) {
print_r($row);
}
fclose($file);
?>
Kết quả thực thi mã cho tệp có nội dung "a;b;c":
['a', 'b', 'c']
Ví dụ
Đọc CSV với dấu ngoặc kép và ký tự thoát:
<?php
$file = fopen('data.csv', 'r');
while (($row = fgetcsv($file, 0, ',', '"', '\')) !== false) {
print_r($row);
}
fclose($file);
?>
Kết quả thực thi mã cho tệp có nội dung '"a,b",c,"d\"e"':
['a,b', 'c', 'd"e']