Поиск по сайту
Результаты поиска по тегам 'fgetcsv'.
Найдено 1 результат
-
Есть скрипт, который разбирает из CSV файла данные. Проблема в том, что поле в последнем столбце игнорируется, скрипт не видит в нем информации CSV фал выглядит следующим образом: Категория;"Название товара";Производитель;"Цена товара";"Количество на складе";"Ссылка на фотографию (big)";"Ссылка для покупки товара";"Краткое описание";"Полное описание";"Ссылка на фото (small)";Активность;Идентификатор Bigger;"Soft";"Orion";45.94;10;http://www.ez.by/uplo1b167c898391dac19.jpg;http://www.ez.by/soft/;"Маленькое описание...";"Большое описание";;on;5663060000 Именно поле с идентификатором и не обрабатывается. Если после идентификатора добавить разделитель ";", то есть сделать его не последним стобцом, то данные из него обрабатываются. Как заставить обрабатывать информацию в последнем столбце? Заранее спасибо. Код скрипта: if((($handle = fopen($local, "r")) !== FALSE) && $r) { $headers = fgetcsv($handle, 0, ';', '"'); if ((int) $this->request->post['pointer'] == '0' ) { // Если это первая цикл - обнуляем количество товара if (!$this->request->post['reset_qty']) { $this->model_catalog_csvsynchroniz->resetQantity($shopname);//Обнуляем количество товара } }else{ fseek($handle,$this->request->post['pointer']);// Если не первый - выставляем указатель на то место где закончили } $k = 0; while((($data = $FGetCSV->fgetcsv($handle, 30000, ';', '"')) !== FALSE ) && ($k < $inpart_quantity)) { $num = count($data); $pairs = array(); $product_model = $data[$this->request->post['model_number']]; if ($product_model != '') { $p_exist = $this->model_catalog_csvsynchroniz->productExist($product_model, $shopname);//Проверяем существование товара if ($p_exist->row){// Если существует делаем обновление $data_old = array(); $product_id = $p_exist->row['product_id']; $update_data = $this->get_data($headers,$data,$num,$product_model,$data_old,$nacenka,$optprice,$this->request->post);//Меняем поля из файла csv $this->model_catalog_csvsynchroniz->updateProduct($update_data,$product_id); } /* else { // Если нет - создаем новый $default_data = $this->default_data($product_model);//Заливаем дефолтные данные товара $add_data = $this->get_data($headers,$data,$num,$product_model,$default_data,$nacenka,$this->request->post);//Меняем поля из файла csv $this->model_catalog_product->addProduct($add_data); } */ } $k++; } $pointer = ftell($handle); $eof_flag = feof($handle) + 0; fclose($handle); $json['info'] = sprintf($this->language->get("text_updated"), $k+1); $json['updated'] = $k; $json['pointer'] = $pointer; $json['eof_flag'] = $eof_flag; $this->cache->delete('product'); } else { $json['warning'] = $this->language->get('file_error'); }