А если ничего не допомагает используйте "альтенативную" функцию:
замисть myfgetcsv... Источник:
А еще лучще сразу импорт из файла .xls. Благо бесплатных библиотек немало...
PHP:
function fgetcsv2($f_handle, $length, $delimiter=',', $enclosure='"')
{
if (!strtoupper(substr(PHP_OS, 0, 3)) === 'WIN')
return fgetcsv($f_handle, $length, $delimiter, $enclosure);
if (!$f_handle || feof($f_handle))
return false;
if (strlen($delimiter) > 1)
$delimiter = substr($delimiter, 0, 1);
elseif (!strlen($delimiter)) // There _MUST_ be a delimiter
return false;
if (strlen($enclosure) > 1) // There _MAY_ be an enclosure
$enclosure = substr($enclosure, 0, 1);
$line = fgets($f_handle, $length);
if (!$line)
return false;
$result = array();
$csv_fields = explode($delimiter, trim($line));
$csv_field_count = count($csv_fields);
$encl_len = strlen($enclosure);
for ($i=0; $i<$csv_field_count; $i++)
{
// Removing possible enclosures
if ($encl_len && $csv_fields[$i]{0} == $enclosure)
$csv_fields[$i] = substr($csv_fields[$i], 1);
if ($encl_len && $csv_fields[$i]{strlen($csv_fields[$i])-1} == $enclosure)
$csv_fields[$i] = substr($csv_fields[$i], 0, strlen($csv_fields[$i])-1);
// Double enclosures are just original symbols
$csv_fields[$i] = str_replace($enclosure.$enclosure, $enclosure, $csv_fields[$i]);
$result[] = $csv_fields[$i];
}
return $result;
}
замисть myfgetcsv... Источник:
Для просмотра скрытого содержимого вы должны войти или зарегистрироваться.
А еще лучще сразу импорт из файла .xls. Благо бесплатных библиотек немало...