使用 PHP 将 .csv 上传到数据库时转义逗号

Escaping a comma when uploading a .csv to a database with PHP

我正在尝试执行一个简单的 PHP 函数来将 .csv 文件放入数据库。问题是文件是用分号分隔的,并且出于某种原因,当单元格包含逗号时,它会遗漏后面的所有内容。

例如 .csv 文件

manufacturer;comment;year
toyota;good car, bad color;1997

print_r()函数打印出来如下

[0] => Array
(
    [0] => manufacturer
    [1] => comment
    [2] => year
)

[1] => Array
(
    [0] => toyota
    [1] => good car
)

编辑

这是我正在使用的代码。

//get the contents of the .csv file     
$filepath = './files/csvfile.csv'
$fileopen = fopen($filepath,"r");
//create an empty array
$csv = array();
//go through the .csv file with fgetcsv()
while(($line = fgetcsv($fileopen,";")) !== FALSE)
{

    $line =  explode(";",$line[0]);


    $csv[] = $line;
}

    //print the result
    echo "<pre>";
            print_r($csv);
    echo "</pre>";
fclose($fileopen);

将分隔符作为第三个参数

http://php.net/manual/en/function.fgetcsv.php

while(($line = fgetcsv($fileopen, 0, ";")) !== FALSE)

我认为你也不需要那条爆炸线。