Y
Y
ygen2015-11-18 21:40:29
PHP
ygen, 2015-11-18 21:40:29

Doesn't read first row in CSV?

There is a function for reading data from csv format. Everything works fine on the local computer. On one of the servers everything reads fine.
But on the customer's server it stops reading the first line.
00d668eb2f71450198e6a366b16d1d08.png9a3e58639a514725b2db8195d1fd3bca.png
I can't figure out what could be the problem. The script is encoded in utf-8. On the customer's website 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; //Возвращаем прочтенные данные
    }

}

We deduce value from 2 and 0 columns. The value 0 of the column on the customer's server is empty.
foreach ($get_csv as $value) { //Проходим по строкам
  printf('name('.$value[2].')="'.prettyurl($value[2]).'"     name('.$value[0].')="'.prettyurl($value[0]).'"<br>');
}

Please help with solving the problem. Thank you.

Answer the question

In order to leave comments, you need to log in

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question