如何使用 PHP 获取 CSV 文件中的总行数?
如何使用 PHP 获取 CSV 文件中的总行数?我正在使用此方法,但可以使其正常工作。
if (($fp = fopen("test.csv", "r")) !== FALSE) {
while (($record = fgetcsv($fp)) !== FALSE) {
$row++;
}
echo $row;
}
如何使用 PHP 获取 CSV 文件中的总行数?我正在使用此方法,但可以使其正常工作。
if (($fp = fopen("test.csv", "r")) !== FALSE) {
while (($record = fgetcsv($fp)) !== FALSE) {
$row++;
}
echo $row;
}
使用创建新文件引用:SplFileObject
$file = new SplFileObject('test.csv', 'r');
尝试以最高的Int PHP可以处理:seek
$file->seek(PHP_INT_MAX);
然后,实际上它会在文件中寻找它可能的最高行,那里有你的最后一行,最后一行+ 1等于你的总行:
echo $file->key() + 1;
这很棘手,但这会避免您将文件内容加载到内存中,这在处理非常大的文件时是一件非常酷的事情。
这是另一个选项,用于将整个文件读入数组,自动解析新行等:file()
$fp = file('test.csv');
echo count($fp);
另外,从PHP5开始,您可以传入...以跳过空行,如果需要:FILE_SKIP_EMPTY_LINES
$fp = file('test.csv', FILE_SKIP_EMPTY_LINES);