Có một vài cách để đọc tệp CSV bằng PHP. Tôi đã sử dụng chức năng phát nổ để đặt mỗi dòng vào một mảng và sau đó phát nổ dấu phẩy và sử dụng cắt để xóa mọi dấu ngoặc kép khỏi dữ liệu. Đó là lộn xộn ...PHP đọc tệp csv hiệu quả
Trong PHP 5 có bây giờ fgetcsv và * str_getcsv * ... Tôi đoán đây là cách tốt nhất để đi về nó những ngày này vì vậy tôi đã đánh một số mã. .
$fp = fopen($csv_file['file_path'], 'r');
while (($data = fgetcsv($fp, 0, "\r", '"', "\r")) !== FALSE) {
$num = count($data);
for ($c=0; $c < $num; $c++) {
print_r(str_getcsv($data[$c]));
}
}
Có vẻ như hoạt động nhưng có cách tiếp cận không an toàn hơn? Ví dụ: làm cho nó hoạt động cho dù ngắt dòng là \ n hoặc \ r ...
Bất kỳ đầu vào nào bạn có thể cung cấp đều tuyệt vời!
Tôi cũng đã đề cập đến điều này với Mario ở trên nhưng tôi nghĩ có thể có điều gì đó sai trái với tệp CSV của tôi ... Đây là một mật khẩu của nó bensinclair.co/import.csv ... Khi tôi sử dụng tệp này với mã của bạn, nó sẽ xuất dữ liệu của tôi những gì xảy ra với mã marios ở trên img192.imageshack.us/img192/2483/screenshot20111006at123b.png Tôi đã tạo tệp CSV trong Microsoft Excel trên Mac. Tôi đang làm điều gì đó sai trái hoặc làm điều gì đó cần phải được điều chỉnh trong mã? –
Tôi thấy sự cố. Sẽ sửa chữa. – StackOverflowNewbie
Tôi đã cập nhật mã. Đã thêm 'ini_set ('auto_detect_line_endings', TRUE);'. Hãy thử một lần. – StackOverflowNewbie