如何在PHP中读取此CSV文件?

时间:2016-01-07 11:24:22

标签: php csv

我有一个CSV文件,格式如下:

"1512";"Wreaths";"";"1493";"1";"0";"2"
"1513";"Wrist Rests";"";"1494";"1";"0";"2"
"1514";"Wrist Watches";"";"1495";"1";"0";"2"
"1515";"Writing";"";"1496";"1";"0";"2"
"1516";"Writing, Research & Publishing Guides";"";"1497";"1";"0";"2"
"1517";"xD-Picture Cards";"";"1498";"1";"0";"2"
"1518";"Yogurt Makers";"";"1499";"1";"0";"2"
"1519";"Yucatan Peninsula";"";"1500";"1";"0";"2"
"1520";"Zip Discs";"";"1501";"1";"0";"2"
"1521";"Zurnas";"";"1502";"1";"0";"2"

每条记录都在不同的行上,我想用PHP将其读取到我的数据库中。这是我的代码,根本不打印任何内容。

<?php
$file = fopen("all_cats.csv", "r") or exit("Unable to open file!");
//Output a line of the file until the end is reached

while(!feof($file))
{
    $line =  fgets($file);
    $json = json_decode($line, true);
    $json[0];
}
fclose($file);

请让我知道您的想法以及我应该怎么做才能让它发挥作用。

3 个答案:

答案 0 :(得分:2)

正如评论中所述,您需要使用fgetcsv,并根据文件/数据使用分隔符;

<?php
$file = fopen("all_cats.csv", "r") or exit("Unable to open file!");
//Output a line of the file until the end is reached
echo '<pre>';
while(!feof($file))
{
    $line =  fgetcsv($file, 0, ';');
    print_r($line);
}
fclose($file);

答案 1 :(得分:1)

您需要使用fgetcsv来检索数据。请refer此网站。

答案 2 :(得分:1)

使用fgetcsv函数:http://php.net/manual/en/function.fgetcsv.php

WHERE tv.id = ?