S
Skyler
Добрый день, уважаемые форумчане!
Вот уже вторые сутки бьюсь над следующей проблемой:
Необходимо прочесть файл CSV (см. вложение), для этого использую fgetcsv():
Код
Строки, в которых отсутствуют двойные кавычки (") читаются нормально (получаем корректный массив $cols), но если в строке есть хотябы одна кавычка, никакого разбиения не происходит и вся строка помещается в $cols[0]
Вот результат выполнения:
Count cols=4
Count cols=1
Count cols=1
Count cols=4
Count cols=4
Count cols=1
Может кто сталкивался с подобной проблемой?
Как корректно прочесть такой файл? (использование explode(), str_replace() и др. не подойдет, т.к. есть вероятность искажения данных)
Большое спасибо!
Вот уже вторые сутки бьюсь над следующей проблемой:
Необходимо прочесть файл CSV (см. вложение), для этого использую fgetcsv():
Код
PHP:
$fp=fopen("test.csv",r,true);
while($cols=fgetcsv($fp,65536,","))
{
echo "Count cols=".count($cols)."<br>";
}
Строки, в которых отсутствуют двойные кавычки (") читаются нормально (получаем корректный массив $cols), но если в строке есть хотябы одна кавычка, никакого разбиения не происходит и вся строка помещается в $cols[0]
Вот результат выполнения:
Count cols=4
Count cols=1
Count cols=1
Count cols=4
Count cols=4
Count cols=1
Может кто сталкивался с подобной проблемой?
Как корректно прочесть такой файл? (использование explode(), str_replace() и др. не подойдет, т.к. есть вероятность искажения данных)
Большое спасибо!