以下のコードは、ディレクトリ内のすべての.csvファイルのリストを取得します。各ファイルからいくつかの情報(列3のすべての値の合計)を抽出し、それを各リスト項目内に挿入する関数csvcolumnsumを作成しました。
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);
}