我的网页需要计算CSV文件中的行数,但以下代码无效:
$linecount = count(file("sample.csv"));
var_dump($linecount);
当我运行此代码时,代码返回数字1,但sample.csv
中有8行。有谁知道为什么会这样,以及如何解决它?
答案 0 :(得分:3)
如果在mac / linux中创建的sample.csv
文件,您可能需要考虑将auto_detect_line_endings
设置为ON
。
auto_detect_line_endings
布尔
打开时,PHP将检查fgets()和file()读取的数据,以查看它是否正在使用
Unix,MS-Dos或Macintosh行结束约定。
另一个选项(如果您不想使用此选项)是读取文件并按所有换行选项(\r\n|\r|\n
)拆分行:
$linecount = count(preg_split("/\r\n|\r|\n/", file_get_contents("sample.csv")));