Есть функция для считывания данных из csv формата. На локальном компьютере всё работает без проблем. На одном из серверов всё считывает нормально.
Но на сервере заказчика перестает считывать первую строчку.
Не могу понять, в чём может быть проблема. В скрипте стоит кодировка utf-8. На сайте заказчика windows-1251.
class CSV {
private $_csv_file = null;
/**
* @param string $csv_file - путь к csv-файлу
*/
public function __construct($csv_file) {
if (file_exists($csv_file)) { //Если файл существует
$this->_csv_file = $csv_file; //Записываем путь к файлу в переменную
}
else throw new Exception("Файл \"$csv_file\" не найден"); //Если файл не найден то вызываем исключение
}
/**
* Метод для чтения из csv-файла. Возвращает массив с данными из csv
* @return array;
*/
public function getCSV() {
$handle = fopen($this->_csv_file, "r"); //Открываем csv для чтения
$array_line_full = array(); //Массив будет хранить данные из csv
while (($line = fgetcsv($handle, 0, ";")) !== FALSE) {
$array_line_full[] = $line; //Записываем строчки в массив
}
fclose($handle); //Закрываем файл
return $array_line_full; //Возвращаем прочтенные данные
}
}
Выводим значение из 2 и 0 колонки. Значение 0 колонки на сервере заказчика - пустое.
foreach ($get_csv as $value) { //Проходим по строкам
printf('name('.$value[2].')="'.prettyurl($value[2]).'" name('.$value[0].')="'.prettyurl($value[0]).'"<br>');
}
Просьба помочь с решением проблемы. Спасибо.