I have a csv file, which is tab delimited. Inside the cells have used a semicolon as a separator between values. Whether php means to process the file and get to the exit to the right of each line array of values.
here is my code:
$handle = fopen($name_csv, "r");
$data_import = array();
if(empty($handle) === false) {
while(($data = fgetcsv($handle, 1000, "\t")) !== FALSE) {
foreach( $data as $key => $val ) {
$data[$key] = trim( $data[$key] );
$data[$key] = iconv('windows-1251', 'UTF-8', $data[$key]);
$data[$key] = str_replace('""', '"', $data[$key]);
$data[$key] = preg_replace("/^\"(.*)\"$/sim", "$1", $data[$key]);
}
$data_import[] = $data;
}
fclose($handle);
}
output array:
Array
(
[0] => Array
(
[0] => test;test;test;"test value; test value";test
)
The file size 300 MB.
original csv:
test;test;test;"test value; test value";test
test;test;test;"test value; test value";test
test;test;test;"test value; test value";test
test;test;test;"test value; test value";test