PHP phân tích cú pháp CSV
Như bạn có thể thấy, thư viện hỗ trợ cả thuộc tính công khai và phương thức setter. Chỉ cần sử dụng những gì bạn thích Show
Đối với gợi ý loại, bạn có thể sử dụng bất kỳ hàm vô hướng nào có sẵn (chuỗi, bool, int và float) hoặc một trong các dẫn xuất ngày giờ (DateTimeInterface, DateTime, DateTimeImmutable). Bạn có thể đặt tiền tố cho chúng bằng dấu ? Bây giờ bạn có thể dễ dàng đọc từ tệp CSV 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 34 và 35 để đọ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 36 và 37 Giới thiệuLư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_______5 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ư 34, cách đọc nội dung của tệp này bằng cách sử dụng phương thức 35 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
Hãy bắt đầu nào Hiển thị Tệp CSV dưới dạng BảngTrong 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 34 để đọc tệp Sau đó, hàm 35 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ừ 34, độ 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 37 2 3 Elias,40,nurse0 Elias,40,nurse1 Elias,40,nurse2 Elias,40,nurse3 Elias,40,nurse4 Elias,40,nurse5 Elias,40,nurse6 Elias,40,nurse7 Elias,40,nurse8 Elias,40,nurse9 20 21 22 23 24 25 26 27 28 29 Rehema,15,programmer0 Rehema,15,programmer1 Rehema,15,programmer2 Rehema,15,programmer3 Rehema,15,programmer4 Rehema,15,programmer_______7___9_____7___7 1 Trong tệp này, trước tiên chúng tôi mở dữ liệu. csv, tệp này sẽ chứa một số dữ liệu được phân tách bằng dấu phẩy. Elias,40,nurse04 sẽ tìm tệp này trong cùng thư mục với csvtable. php. Tham số Elias,40,nurse05 yêu cầu Elias,40,nurse04 mở tệp dưới dạng chỉ đọc. Nếu tệp được mở thành công, Elias,40,nurse04 sẽ trả về một phần xử lý tệp có thể được sử dụng cho các thao tác đọc tệp khác. Nếu không, nó sẽ trả về Elias,40,nurse08. Do đó, chúng tôi kiểm tra xem xử lý tệp không phải là Elias,40,nurse08 trước khi tiếp tục đọc tệp Tệp 35 sau đó tìm nạp các trường CSV từ tệp đã mở, mỗi lần một dòng. Chúng tôi yêu cầu Elias,40,nurse11 đọc tối đa 100 ký tự trên mỗi dòng và sử dụng dấu phân cách bằng dấu phẩy làm dấu phân cách. Các từ được tìm thấy trong tệp sau đó được lặp lại và in thành bảng HTML Hàm cuối cùng là hàm Elias,40,nurse12, đóng tệp đã mở. Điều này giải phóng bộ nhớ được sử dụng bởi tệp đang mở và cho phép các quy trình khác có quyền truy cập vào tệp mở csvtable. php thông qua máy chủ WAMP hoặc XAMPP localhost hoặc chạy Elias,40,nurse13 từ dòng lệnh để xem đầu ra sau Phần đầu tiên của những gì chúng ta cần đạt được đã được thực hiện Bây giờ, chúng ta sẽ chuyển đổi các trường CSV thô thành một mảng Chuyển đổi tệp CSV thô thành một mảngBây giờ, có nhiều cách để tạo mảng. Chúng ta có thể sử dụng hàm 35 để tự động chuyển đổi nội dung của tệp CSV thành một mảng hoặc chúng ta có thể sử dụng Elias,40,nurse15 Sử dụng 35 để chuyển đổi tệp CSV thành một mảngĐiều này tương tự như ví dụ ở trên, nơi chúng tôi đã sử dụng 35 để hiển thị tệp CSV dưới dạng bảng HTML. Hãy xem điều này trong hành động. Tạo một tệp PHP với các nội dung sau 1 37 2 35 3 Elias,40,nurse1 38 Elias,40,nurse2 Elias,40,nurse4 Beatrice,23,doctor1 Elias,40,nurse6 Beatrice,23,doctor3 Elias,40,nurse8 20 Rehema,15,programmer1 22 24 Rehema,15,programmer6 26 11 28 Rehema,15,programmer8 Rehema,15,programmer0 Rehema,15,programmer2 16 Rehema,15,programmer4 18 Rehema,15,programmer5 370 Rehema,15,programmer7 Rehema,15,programmer9 373 30 375 376 377 378 379 20 31 Trong đoạn mã trên, chúng tôi đã tạo một hàm để đọc tệp CSV và chuyển đổi nó thành một mảng. Chúng tôi chuyển vào một tham số có tên và đường dẫn tệp tài liệu CSV Sau đó, chúng tôi sử dụng chức năng Elias,40,nurse18 để kiểm tra xem đã đến cuối tệp chưa. Cho đến khi có, chúng ta cần phân tích cú pháp các trường CSV bằng cách sử dụng hàm 35, giống như chúng ta đã làm trong ví dụ trên Các trường CSV được phân tích cú pháp từ tệp CSV được chuyển đổi thành một mảng bằng cách sử dụng hàm 35 và được thêm từng trường một vào biến Elias,40,nurse21 Cuối cùng, đừng quên sử dụng hàm Elias,40,nurse12 để đóng tệp đã mở trước khi thoát khỏi hàm Sau đó, chúng tôi gọi hàm Elias,40,nurse23, chuyển tài liệu CSV dưới dạng tham số và tiếp theo, nội dung của tệp CSV được hiển thị như bên dưới Sử dụng 36 để đọc tệp CSVNgoài ra, bạn có thể sử dụng hàm 36 để đọc tệp CSV thành một mảng. Để làm điều này, bạn sẽ sử dụng Elias,40,nurse26 làm chức năng gọi lại. Đây là một hàm PHP tích hợp được sử dụng để phân tích chuỗi CSV thành một mảng Hàm gọi lại là một số mã thực thi được chuyển đến một đoạn mã khác dưới dạng đối số. Đối số này dự kiến sẽ được gọi lại sau bởi mã mà nó được chuyển đến Đây là cách chúng tôi có thể sử dụng Elias,40,nurse15 và Elias,40,nurse26 để ánh xạ dữ liệu CSV của mình thành một mảng 1______17 2 25 3 375 Elias,40,nurse1 377 Elias,40,nurse2 379 Elias,40,nurse4 31 Đoạn mã trên sử dụng phương pháp Elias,40,nurse29 để đọc tệp CSV thành một mảng các dòng. Sau đó, với bản đồ mảng, nó gọi 37 trên mỗi dòng và lưu trữ dữ liệu cho toàn bộ tệp trong Elias,40,nurse31. Hàm 37 phân tích nội dung trường CSV của mỗi dòng thành một mảng Đầu ra của đoạn mã trên sẽ giống như trên Lưu ý rằng mã được yêu cầu ít hơn bao nhiêu khi sử dụng trực tiếp hàm Elias,40,nurse29 và hàm 36? Phần kết luậnTrong bài viết này, bạn đã học cách xử lý tệp CSV trong PHP bằng cách đọc và hiển thị nội dung của nó bằng cách sử dụng các hàm gốc của PHP như 34 và 35 và chuyển đổi các trường CSV thành một mảng. Tôi đã chỉ cho bạn hai cách để làm điều này. Làm cách nào để phân tích tệp CSV trong PHP?Mở tệp PHP và viết đoạn mã sau vào đó, mã này sẽ được giải thích trong các bước sau. . Mở tập dữ liệu của CSV bằng chức năng fopen. $open = fopen("tên tệp. . Đọc một dòng bằng hàm fgetcsv(). . Sử dụng một vòng lặp để lặp lại trong mỗi hàng dữ liệu. . Đóng tệp đó bằng phương thức PHP fclose() Làm cách nào để đọc chuỗi CSV trong PHP?Để phân tích chuỗi CSV thành một mảng trong PHP, gọi hàm chuỗi str_getcsv() và chuyển chuỗi CSV làm đối số . str_getcsv() Hàm chuỗi lấy chuỗi làm đối số và phân tích cú pháp chuỗi đã cho cho các trường ở định dạng CSV và trả về một mảng.
Làm cách nào để đọc từng dòng tệp CSV trong PHP?Chúng tôi sẽ sử dụng fopen() và fgetcsv() để đọc nội dung của tệp CSV , sau đó chúng tôi sẽ chuyển đổi tệp đó .
Làm cách nào để gọi tệp CSV trong PHP?Làm cách nào để nhập và xuất CSV bằng cách sử dụng php và MySQL? . Phê duyệt hồ sơ đã gửi, cho dù là tệp CSV quan trọng Kiểm tra trạng thái truyền tệp CSV bằng hàm is_uploaded_file() của PHP Truy cập tệp CSV bằng hàm PHP fopen() Phân tích dữ liệu từ bản ghi CSV sử dụng hàm PHP fgetcsv() |