我有这个脚本,它基本上抓住了我的"logs"文件夹中的所有文件并将它们全部合并到一个数组文件中,我唯一的问题是,如果有空行或空行,有时脚本会中断!如何告诉它自动跳过空白行并转到下一行?空白行不一定在顶部或底部!可能在csv文件的中间
<?php
$csv = array();
$files = glob('../logs/*.*');
$out = fopen("newfile.txt", "w");
foreach($files as $file){
$in = fopen($file, "r");
while (($result = fgetcsv($in)) !== false)
{
$csv[] = $result;
}
fclose($in);
fclose($out);
}
print json_encode(array('aaData' => $csv ));
?>
Run Code Online (Sandbox Code Playgroud)
Tom*_*ers 18
正如您可以在以下文档中fgetcsv()阅读:
CSV文件中的空白行将作为包含单个空字段的数组返回,并且不会被视为错误.
在将其添加到数据阵列之前检查它应该就足够了:
while (($result = fgetcsv($in)) !== false) {
if (array(null) !== $result) { // ignore blank lines
$csv[] = $result;
}
}
Run Code Online (Sandbox Code Playgroud)
这是经过 100% 测试、最简单的方法。解释是空行使 fgetcsv 返回一个非空数组,其中仅包含一个 null 元素。
if ($result[0] == NULL)
continue;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15097 次 |
| 最近记录: |