Php SplFileObject::READ#u CSV不';t似乎正在正确读取CSV文件-忽略附件“;

Php SplFileObject::READ#u CSV不';t似乎正在正确读取CSV文件-忽略附件“;,php,csv,splfileobject,Php,Csv,Splfileobject,在提出这个问题之前,我已经阅读了文档并广泛搜索了这个网站 $file = new SplFileObject("/var/www/qacentre/compliance/compliance.csv"); $file->setFlags(SplFileObject::READ_CSV); foreach ($file as $row) { } 示例CSV行 “ABEL,TAMMY 454454”,“结束:ABEL,TAMMY 454454”,QP54454,28/10/2012 11:

在提出这个问题之前,我已经阅读了文档并广泛搜索了这个网站

$file = new SplFileObject("/var/www/qacentre/compliance/compliance.csv");
$file->setFlags(SplFileObject::READ_CSV);
foreach ($file as $row) {

}
示例CSV行

“ABEL,TAMMY 454454”,“结束:ABEL,TAMMY 454454”,QP54454,28/10/2012 11:41,“0811非法使用、占有”,“STEPHENS,JEREMY 544454”,链接操作,定位细节不正确,实体:福特猎鹰注册号:颜色:白色

我回显了输出,但它似乎无法识别存储模块字符(“)。虽然我使用的是默认存储模块,但我尝试使用
SetCSVControl
。我还尝试在
SetCSVControl
中转义存储模块字符(因为我无法控制正在导出的CSV文件)

例如,当我打印第一列的结果时,我收到的结果应该是(ABEL,TAMMY 454454)(“ABEL”)

我已经读到这可能是我的语言环境设置的问题(en GB,en US;q=0.8,en;q=0.6)

任何帮助都会很好。

您可以使用

它在例子中说

<?php
$file = new SplFileObject("data.csv");
while (!$file->eof()) {
    var_dump($file->fgetcsv());
}
?>
或者你可以

<?php

    $file = new SplFileObject("/var/www/qacentre/compliance/compliance.csv");
    while (!$file->eof()) {
        var_dump($file->fgetcsv());
    }
?>

<?php
$file = new SplFileObject("animals.csv");
$file->setFlags(SplFileObject::READ_CSV);
foreach ($file as $row) {
    list($animal, $class, $legs) = $row;
    printf("A %s is a %s with %d legs\n", $animal, $class, $legs);
}
?>
$file = new SplFileObject("/var/www/qacentre/compliance/compliance.csv");
$file->setFlags(SplFileObject::READ_CSV);
foreach ($file as $row) {
var_dump($row);
}
<?php

    $file = new SplFileObject("/var/www/qacentre/compliance/compliance.csv");
    while (!$file->eof()) {
        var_dump($file->fgetcsv());
    }
?>