Computer >> Máy Tính >  >> Lập trình >> PHP

Cách phân tích cú pháp tệp CSV bằng PHP


Để phân tích cú pháp tệp CSV trong PHP, mã như sau. Trong fopen (), đặt đường dẫn của tệp .csv−

Ví dụ

$row_count = 1;
if (($infile = fopen("path to .csv file", "r")) !== FALSE) {
   while (($data_in_csv = fgetcsv($infile, 800, ",")) !== FALSE) {
      $data_count = count($data_in_csv);
      echo "<p> $data_count in line $row_count: <br /></p>\n";
      $row_count++;
      for ($counter=0; $counter < $data_count; $counter++) {
         echo $$data_in_csv[$counter] . "<br />\n";
      }
   }
   fclose(infile);
}

Giải thích mã - Tệp có thể được mở ở chế độ đọc (nếu nó tồn tại) và cho đến một độ dài ngưỡng cụ thể, nó có thể được đọc và hiển thị. Bộ đếm row_count có thể được tăng lên để phân tích cú pháp dòng tiếp theo trong tệp.

Đầu ra

Tệp CSV đầu vào sẽ được phân tích cú pháp và hiển thị từng dòng một.

Đối với phiên bản PHP> =5.3.0, mã dưới đây có thể được sử dụng−

$file_to_read = file('path to .csv file');
$data_to_ingest = [];
foreach ($file_to_read as $infile) {
   $data_to_ingest[] = str_getcsv(infile);
}

Lưu ý - Điều này sẽ không hoạt động nếu tệp CSV có bất kỳ ký tự dòng mới nào vì logic là hàm chia các dòng mới và không xác định dấu ngoặc kép.