Hướng dẫn dùng contenttype csv trong PHP
Nội dung chính Show
Định Nghĩa.Hàm fputcsv() định dạng một dòng là CSV và ghi nó vào một tệp đang mở. Cú pháp.Cú pháp:fputcsv(file, fields, separator, enclosure, escape) Trong đó.
Giá trị trả về.
Sự thay đổi.
Ví dụ.Ví dụ # 1 Sử dụng fpassthru () với các tệp nhị phâncode:?php Ví dụ trên sẽ ghi như sau vào file.csv: aaa,bbb,ccc,dddd 123,456,789 """aaa""","""bbb""" Ghi chú.
Hàm liên quan.
Thông tin thêm.
Các bạn có thể xem chi tiết hơn trên php.net. Hi vọng với bài viết này, bạn đã hiểu rõ ứng dụng của hàm fputcsv() trong PHP. Nếu bạn thấy bài viết hay và có ý nghĩa hãy like và chia sẻ bài viết này để mọi người cùng nhau học tập nhé. Cảm ơn các bạn đã ghé thăm codetutam.com
Nội dung chính
Định Nghĩa.Hàm fputcsv() định dạng một dòng là CSV và ghi nó vào một tệp đang mở. Cú pháp.Cú pháp:fputcsv(file, fields, separator, enclosure, escape) Trong đó.
Giá trị trả về.
Sự thay đổi.
Ví dụ.Ví dụ # 1 Sử dụng fpassthru () với các tệp nhị phâncode:?php Ví dụ trên sẽ ghi như sau vào file.csv: aaa,bbb,ccc,dddd 123,456,789 """aaa""","""bbb""" Ghi chú.
Hàm liên quan.
Thông tin thêm.
Các bạn có thể xem chi tiết hơn trên php.net. Hi vọng với bài viết này, bạn đã hiểu rõ ứng dụng của hàm fputcsv() trong PHP. Nếu bạn thấy bài viết hay và có ý nghĩa hãy like và chia sẻ bài viết này để mọi người cùng nhau học tập nhé. Cảm ơn các bạn đã ghé thăm codetutam.com Trong công việc và các dự án liên quan đến việc quản lý, chúng ta thường sẽ cần chức năng xuất và nhập dữ liệu từ file CSV. Đối với đa số các Framework PHP trên thị trường hiện nay thì việc này đều được hỗ trợ sẵn thông qua các thư viện được xây dựng sẵn. Tuy nhiên trong vài trường hợp đối với các dữ liệu sử dụng ngôn ngữ tiếng Nhật hay tiếng Trung, đôi khi sẽ xảy ra trường hợp file được export ra sẽ không thể import vào đúng như ban đầu. Ví dụ dưới đây sẽ minh họa cho điều đó (Lưu ý: Framework sử dụng trong bài viết là FuelPHP). I. Trường hợp lỗi.Hàm Export Data ra file CSV
Hàm Import đọc dữ liệu từ file CSV.
Với hàm export như trên, chúng ta sẽ có được file dữ liệu như sau. Chúng ta có thể thấy dữ liệu được export ra sẽ có 9 cột. Tiếp theo, chúng ta sẽ dùng chính file vừa rồi để import trở lại Khi check file log của hệ thống, ta sẽ thấy Có thể thấy là dữ liệu đọc vào từ file CSV này chỉ đọc được 8 cột ( Trong khi lúc Export chúng ta thấy có 9 cột). Nếu nhìn kỹ hơn trong vùng khoanh tròn thì có thể thấy 2 cột đã bị dính liền nhau khi đọc dữ liệu vào, ký tự “\u0022” là biểu tượng dấu ngoặc kép đã bị dính liền vào cột trước, do đó khi đọc file thì cột sau bị dính liền vào cột trước, làm dữ liệu đọc vào bị thiếu mất 1 cột. Khi xem kỹ hơn file được xuất ra, ta sẽ thấy. Cột bên phải là file gốc, cột bên trái là file đã được mở bằng Microsoft Excel và được định dạng lại. Có thể dễ dàng nhận thấy là file bên trái khi được excel định dạng lại đã bỏ hết các dấu ngoặc kép phân cách giữa các từ, chỉ còn dấu phẩy ngăn cách. Vì vậy khi đọc file gốc, chương trình đã đọc luôn dấu ngoặc kép gây nên tình trạng đọc thiếu cột. Khi sử dụng file đã được sửa bằng excel, chương trình sẽ chạy bình thường. Có thể thấy là dữ liệu sau khi được chỉnh sửa định dạng bằng file Excel đã trở về đúng với tình trạng ban đầu. Để giải quyết tình trạng này, chúng ta sẽ thay đổi một chút về hàm xuất file CSV. II. Sửa lỗiĐể xử lý lỗi trên, mình dùng cách tự convert từng dòng dữ liệu và sau đó put từng dòng vào file CSV. Khi đó dữ liệu sẽ được loại bỏ dấu ngoặc kép giữa các từ.
Đây là dữ liệu so sánh sau khi đã thay đổi hàm xuất file. Có thể thấy bây h dữ liệu 2 file đã tương đồng nhau, do đó khi thực hiện việc import cũng sẽ ko còn gặp trường hợp lỗi như trên. |