Splfileobject php csv

Làm cách nào tôi có thể nhận được tổng số hàng trong tệp CSV bằng PHP?

Nội dung chính Hiển thị

  • Làm cách nào để đếm các bản ghi trong tệp CSV bằng PHP?
  • Làm cách nào để đếm số hàng trong tệp CSV?
  • Hàm Fgetcsv trong PHP là gì?
  • Làm cách nào để đếm số cột trong tệp CSV?

if [[$fp = fopen["test.csv", "r"]] !== FALSE] { 
  while [[$record = fgetcsv[$fp]] !== FALSE] {
      $row++;
  }

  echo $row;
}

toto

87. 1k61 huy hiệu vàng86 huy hiệu bạc120 huy hiệu đồng

đã hỏi ngày 30 tháng 1 năm 2014 lúc 3. 35

1

Tạo tham chiếu tệp mới bằng cách sử dụng

$file = new SplFileObject['test.csv', 'r'];
4

$file = new SplFileObject['test.csv', 'r'];

Cố gắng

$file = new SplFileObject['test.csv', 'r'];
5 lên Int PHP cao nhất có thể xử lý

$file->seek[PHP_INT_MAX];

Sau đó, thực sự nó sẽ tìm đến dòng cao nhất có thể trong tệp, có dòng cuối cùng của bạn và dòng cuối cùng + 1 bằng với tổng số dòng của bạn

echo $file->key[] + 1;

Khó, nhưng điều này sẽ ngăn bạn tải nội dung tệp vào bộ nhớ, đây là một điều rất hay khi xử lý các tệp thực sự lớn

đã trả lời 28 tháng 3 năm 2017 lúc 17. 18

Leo Cavalcante Leo Cavalcante

2.1572 huy hiệu vàng24 huy hiệu bạc30 huy hiệu đồng

8

Đây là một tùy chọn khác sử dụng

$file = new SplFileObject['test.csv', 'r'];
6 để đọc toàn bộ tệp thành một mảng, tự động phân tích cú pháp các dòng mới, v.v.

$fp = file['test.csv'];
echo count[$fp];

Ngoài ra, kể từ PHP5, bạn có thể chuyển vào

$file = new SplFileObject['test.csv', 'r'];
7. để bỏ qua các dòng trống, nếu bạn muốn

$fp = file['test.csv', FILE_SKIP_EMPTY_LINES];

Thủ công. http. //php. net/thủ công/vi/chức năng. tập tin. php

đã trả lời 30 tháng 1 năm 2014 lúc 3. 40

cuộn dây cuộn dây

24. 1k9 huy hiệu vàng62 huy hiệu bạc91 huy hiệu đồng

4

Thử

$file = new SplFileObject['test.csv', 'r'];
0

đã trả lời 30 tháng 1 năm 2014 lúc 3. 48

Nouphal. M Nouphal. m

6.2981 huy hiệu vàng15 huy hiệu bạc27 huy hiệu đồng

Tôi biết rằng điều này khá cũ, nhưng thực sự tôi đã gặp phải câu hỏi tương tự. Như một giải pháp, tôi cho rằng sử dụng logic cụ thể của linux

$file = new SplFileObject['test.csv', 'r'];
1

GHI CHÚ. cái này chỉ hoạt động cho linux và cái này chỉ nên được sử dụng nếu bạn chắc chắn 100% rằng tệp của bạn không có nhiều ô

đã trả lời 25 tháng 3 năm 2015 lúc 14. 43

boesing boesing

3153 huy hiệu bạc10 huy hiệu đồng

Các hàng CSV được phân tách bằng dấu ngắt dòng. Do đó, hãy chia các hàng theo ngắt dòng và bạn sẽ nhận được một mảng các hàng có thể đếm được

$file = new SplFileObject['test.csv', 'r'];
2

đã trả lời 30 tháng 1 năm 2014 lúc 3. 37

1

Ghi chú;

Tôi đang sử dụng một giải pháp tương tự cho op và nó hoạt động hoàn hảo, nhưng với mã của op, phần while có thể bị ngắt ở các dòng trống, đây có thể là vấn đề của anh ấy

Vì vậy, nó trông như thế này [mã op đã chỉnh sửa]

$file = new SplFileObject['test.csv', 'r'];
3

đã trả lời Ngày 4 tháng 12 năm 2019 lúc 3. 42

2

Tôi thấy điều này đáng tin cậy nhất

$file = new SplFileObject['test.csv', 'r'];
0

đã trả lời 17/12/2020 lúc 1. 16

Jonathan Jonathan

12. 6k16 huy hiệu vàng85 huy hiệu bạc119 huy hiệu đồng

2

Tôi biết đây là một bài viết cũ, nhưng tôi đã tìm hiểu vấn đề này trên Google và thấy rằng vấn đề duy nhất với mã gốc là bạn cần xác định

$file = new SplFileObject['test.csv', 'r'];
8 bên ngoài vòng lặp while, như thế này

Chủ Đề