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

使用PHP将.csv上载到数据库时转义逗号,php,csv,escaping,comma,colon,Php,Csv,Escaping,Comma,Colon,我正在尝试使用一个简单的PHP函数将.csv文件放入数据库。问题是文件是用分号分隔的,并且由于某种原因,当单元格包含逗号时,它会省略其后的所有内容 例如.csv文件 manufacturer;comment;year toyota;good car, bad color;1997 使用print\r()功能打印时显示如下 [0] => Array ( [0] => manufacturer [1] => comment [2] => year )

我正在尝试使用一个简单的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);
//获取.csv文件的内容
$filepath='./files/csvfile.csv'
$fileopen=fopen($filepath,“r”);
//创建一个空数组
$csv=array();
//使用fgetcsv()遍历.csv文件
while(($line=fgetcsv($fileopen,“;”)!==FALSE)
{
$line=分解(“;”,$line[0]);
$csv[]=$line;
}
//打印结果
回声“;
打印(csv);
回声“;
fclose($fileopen);

将分隔符作为第三个参数


我认为您也不需要那条分解行。

如果您使用的是getcsv(),那么您应该不会有任何问题,但是如果您显示代码,我们可能会看到您做错了什么将代码添加到问题中。它可能格式错误,所以请随时纠正我。
while(($line = fgetcsv($fileopen, 0, ";")) !== FALSE)