Làm cách nào để phân tích cú pháp tệp CSV bằng PHP?

❮ Tham khảo hệ thống tập tin PHP

Ví dụ

Đọc và xuất một dòng từ tệp CSV đang mở

$file = fopen["danh bạ. csv","r"];
print_r[fgetcsv[$file]];
fclose[$file];
?>

Chạy ví dụ »

Định nghĩa và cách sử dụng

Hàm fgetcsv[] phân tích cú pháp một dòng từ tệp đang mở, kiểm tra các trường CSV

Mẹo. Xem thêm hàm fputcsv[]

cú pháp

fgetcsv[tệp, độ dài, dấu tách, bao vây]

Giá trị tham số

Tham sốTệp mô tảBắt buộc. Chỉ định tệp đang mở để trả về và phân tích cú pháp một dòng fromlengthOptional. Chỉ định độ dài tối đa của một dòng. Phải lớn hơn dòng dài nhất [bằng ký tự] trong tệp CSV. Bỏ qua tham số này [hoặc đặt thành 0] độ dài dòng không bị giới hạn, chậm hơn một chút. Ghi chú. Tham số này là bắt buộc trong các phiên bản trước PHP 5separatorOptional. Chỉ định dấu tách trường. Mặc định là dấu phẩy [ , ] bao vâyTùy chọn. Chỉ định ký tự bao vây trường. Mặc định là "escapeOptional. Chỉ định ký tự thoát. Mặc định là "\\"

chi tiết kỹ thuật

Giá trị trả về. Một mảng có các trường CSV khi thành công, NULL nếu tệp không hợp lệ được cung cấp, FALSE đối với các lỗi khác và trên Phiên bản EOFPHP. 4. 0+An toàn nhị phân. Có, trong PHP 4. 3. Nhật ký thay đổi 5PHP. PHP5. 3 - Đã thêm tham số thoát

Thêm ví dụ

Ví dụ

Đọc và xuất toàn bộ nội dung của tệp CSV

$file = fopen["danh bạ. csv","r"];

trong khi[. feof[$file]]
{
print_r[fgetcsv[$file]];
}

fclose[$file];
?>

Chạy ví dụ »

❮ Tham khảo hệ thống tập tin PHP

Trong bài đăng này, tôi sẽ chỉ cho bạn cách sử dụng các hàm có sẵn của PHP để đọc và in nội dung của tệp CSV và chuyển đổi nó thành một mảng. Chúng tôi sẽ sử dụng

3
4 và
3
5 để đọc nội dung của tệp CSV, sau đó chúng tôi sẽ chuyển đổi nó thành một mảng bằng cách sử dụng các hàm
3
6 và
3
7

Giới thiệu

Lưu trữ tệp dữ liệu ở định dạng giá trị được phân tách bằng dấu phẩy [CSV] không phải là điều mới. Trên thực tế, đây là một trong những cách lưu trữ dữ liệu phổ biến nhất do tính đơn giản của nó—tệp CSV dễ đọc và ghi, đồng thời có thể mở trong trình soạn thảo văn bản cơ bản. Loại tệp này lưu trữ dữ liệu dạng bảng ở dạng văn bản thuần túy

Một ví dụ về một tập tin như vậy sẽ trông như thế này

1
Elias,40,nurse
2
Rehema,15,programmer
3
Beatrice,23,doctor

Dữ liệu này thể hiện thông tin về ba người, với các cột tương ứng với tên, tuổi và công việc của họ. Mặc dù đây là một định dạng dữ liệu đơn giản nhưng có thể khó đọc và sử dụng

Do đó, trong bài viết này, tôi sẽ hướng dẫn bạn cách mở tệp CSV bằng cách sử dụng các hàm gốc của PHP như

3
4, cách đọc nội dung của tệp này bằng cách sử dụng phương thức
3
5 và cuối cùng là cách chuyển đổi tệp CSV này thành một mảng bằng cách sử dụng

Tất nhiên, có một số gói của bên thứ ba mà chúng tôi có thể sử dụng để đạt được điều này, nhưng PHP có các hàm gốc tích hợp hoạt động rất tốt.  

điều kiện tiên quyết

Để tiếp tục với bài viết này, bạn sẽ cần những thứ sau

  • PHP phiên bản 5. 6 trở lên được cài đặt trên máy của bạn
  • môi trường phát triển cho PHP—XAMPP hoặc WampServer đều hoạt động tốt
  • một số hiểu biết cơ bản về các khái niệm PHP

Hãy bắt đầu nào

Hiển thị Tệp CSV dưới dạng Bảng

Trong phần này của bài viết, chúng ta sẽ đọc một tệp CSV đơn giản chứa một vài từ được phân tách bằng dấu phẩy. Để bắt đầu, chúng tôi sẽ sử dụng tệp đơn giản mà chúng tôi đã sử dụng ở trên và sau đó chúng tôi có thể tiếp tục sử dụng tệp lớn hơn ngẫu nhiên. Tất nhiên, bạn có thể tạo tệp của riêng mình bằng Microsoft Excel hoặc trình soạn thảo văn bản và lưu tệp đó với phần mở rộng CSV

Để đọc tệp, trước tiên chúng ta phải tìm tệp đó trong thư mục hoặc vị trí tệp được lưu trong đó. Để truy cập dễ dàng hơn, bạn có thể muốn lưu nó vào cùng thư mục nơi bạn có tệp chương trình của mình. Sau đó, chúng ta có thể sử dụng hàm

3
4 để đọc tệp

Sau đó, hàm

3
5 kiểm tra các trường CSV từ một dòng được phân tích cú pháp của tệp đang mở. Chức năng này yêu cầu ba tham số. xử lý tệp được trả về từ
3
4, độ dài tối đa của dòng được đọc và ký tự phân cách đặc biệt—mà chúng tôi gọi là "dấu phân cách". Đây có thể là dấu phẩy, dấu chấm phẩy hoặc bất kỳ dấu phân cách nào khác

Bây giờ chúng ta hãy thực hành

Tạo một tệp có tên csvtable. php ở đâu đó, nó có thể được cung cấp bằng WAMP hoặc XAMPP và sao chép đoạn mã sau

1

Chủ Đề