下面的代码获取目录中所有 .csv 文件的列表。我创建了函数csvcolumnsum来从每个文件中提取一些信息(第 3 列中所有值的总和)并将其注入每个列表项中。
html 输出应如下所示:
<li>Filename (sum)</li>
但结果是这样的:
sum<li>Filename ()</li>
谁能指出为什么会这样?这是相关的代码。
require("csvcolumnsum.php");
echo "<ul class=\"users\">";
$handle=opendir("data");
while (($file = readdir($handle))!==false) {
$file = preg_replace("/\\.[^.\\s]{3}$/","",$file);
if (preg_match('/[^\.]/i', $file)) {
$value = csvcolumnsum("data/".$file.".csv",3);
echo "<li><a href=\"?form_name=$file\">$file(";
echo $value;
echo ")</a></li>";
}
}
closedir($handle);
echo "</ul>";
csvcolumnsum.php
function csvcolumnsum($filename,$col) {
$handle2 = fopen($filename, 'r');
$data = fgetcsv($handle2);
foreach ($data as $headercolumn) {}
while ($data = fgetcsv($handle2)) {
$sum += $data[$col];
}
echo "<span>$sum</span>";
fclose($handle2);
}