在php中读取CSV文件

时间:2014-04-17 15:05:09

标签: php

PHP文件

$teste =  fopen("teste.csv", "r");

print "<table border=\"2\">";

while (!feof($teste) ) {

$line_of_text = fgetcsv($teste);

print "<tr>
    <td>$line_of_text[0]</td>
    <td>$line_of_text[2]</td>
    <td>$line_of_text[3]</td>
    <td>$line_of_text[4]</td>
    <td>$line_of_text[5]</td>
    <td>$line_of_text[6]</td>
    <td>$line_of_text[7]</td>
    <td>$line_of_text[8]</td>
    <td>$line_of_text[9]</td>
     <td>$line_of_text[10]</td>
    <td>$line_of_text[11]</td>
  </tr>";

}

print "</table>";

fclose($teste);

CSV文件

 ,912,Gold,Sat Bodegas Noroeste de La Palma,Vega Norte Albillo Criollo Seco,2013,Dry White,13,5,97,D.O.La Palma - Islas Canarias, 
 ,922,Gold,Sat Bodegas Noroeste de La Palma,Acertijo Blanco Seco,2013,Dry White,14,95,D.O.La Palma - Islas Canarias, 

我不是PHP专家,但我需要创建一个简单的系统来从CSV读取数据并创建一个包含结果的表

我尝试了上面的代码,但我只获得了第一行

任何人都可以告诉我什么是错的以及我如何解决它?

1 个答案:

答案 0 :(得分:1)

阅读打印 CSV文件的全部内容

<?php

echo "<table>";
$row = 1;
if (($handle = fopen("teste.csv", "r")) !== FALSE) {
    while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
        $num = count($data);
        //echo "<p> $num fields in line $row: <br /></p>\n";
        $row++;
        echo "<tr>";
        for ($c=0; $c < $num; $c++) {
            //echo $data[$c] . "<br />\n";
            echo "<td>".$data[$c]."</td>";
        }
        echo "</tr>";
    }
    fclose($handle);
}
echo "</table>";
?>