ФорумПрограммированиеPHP для идиотов → CSV

CSV

  • Professor

    Сообщения: 2089 Репутация: N Группа: Адекваты

    Spritz 23 сентября 2008 г. 16:55

    Добрый день.
    Такая проблемма возникла.
    Был скрипт записывающий инфу в базу из csv файла.
    Все прекрасно работало,но сегодня…
    Просто перестал присваиваться массиву русский текст! =(
    $row = fgetcsv($f, $filesize, $del);
    print_r($row);

    Русское описание не показывается, а если его английским заменить, то показывается.
    В чем может быть проблемма?
    Может такое произойти из за изменений на хосте?
    Допустим конфигурация Апача изменилась?
    Или искать ошибку в коде?
    P.S. Весь день ищу в коде!!! =(((
  • md5

    Сообщения: 11960 Репутация: N Группа: в ухо

    Spritz 23 сентября 2008 г. 17:19, спустя 23 минуты 21 секунду

    а какой текст стал присваиваться вместо русского?
    все умрут, а я изумруд
  • adw0rd

    Сообщения: 22959 Репутация: N Группа: в ухо

    Spritz 23 сентября 2008 г. 17:28, спустя 9 минут 27 секунд

    Professor, покажи результаты то :)
    https://smappi.org/ - платформа по созданию API на все случаи жизни
  • Lirck

    Сообщения: 1658 Репутация: N Группа: Джедаи

    Spritz 23 сентября 2008 г. 18:20, спустя 51 минуту 39 секунд

    базу из csv файла.

    Я уже почти забыл что это такое.
  • Professor

    Сообщения: 2089 Репутация: N Группа: Адекваты

    Spritz 24 сентября 2008 г. 1:24, спустя 7 часов 4 минуты 31 секунду


    а какой текст стал присваиваться вместо русского?

    Никакого. Просто пустой массив


    Array(
    [0]=>
    [1]=>
    [2]=>
    …)


    Завтра подробней напишу.

    Сейчас проверил, на локальном хосте все работает=((
    У меня пожизни на лакалке работает, а на удаленнном нет!!
    Че с этим делать?? =(
  • adw0rd

    Сообщения: 22959 Репутация: N Группа: в ухо

    Spritz 24 сентября 2008 г. 1:47, спустя 22 минуты 59 секунд

    Professor,

    Сейчас проверил, на локальном хосте все работает=((
    У меня пожизни на лакалке работает, а на удаленнном нет!!
    Че с этим делать?? =(


    Сделать локалку удаленной :)
    https://smappi.org/ - платформа по созданию API на все случаи жизни
  • md5

    Сообщения: 11960 Репутация: N Группа: в ухо

    Spritz 24 сентября 2008 г. 8:51, спустя 7 часов 4 минуты 9 секунд

    ну или удаленку локальным :)
    все умрут, а я изумруд
  • Professor

    Сообщения: 2089 Репутация: N Группа: Адекваты

    Spritz 24 сентября 2008 г. 13:15, спустя 4 часа 23 минуты 44 секунды

    Вот функция которая достает инфу из файла

    function myfgetcsv($fname, $del)
    {
    $filesize = filesize( $fname );
    $f = fopen( $fname, "r" );
    $res = array();
    $firstFlag = true;
    $columnCount = 0;
    while( $row = fgetcsv($f, $filesize, $del) )
    {
    $row[6]=preg_replace("#,#",".",$row[6]);
    if ( $firstFlag )
    $columnCount = count($row);
    $firstFlag = false;
    while( count($row) < $columnCount )
    $row[] = "";
    $res[] = $row;
    }
    fclose($f);
    print_r($res);
    return $res;

    Вот что выдает

    Array
    (
    [0] => Array
    (
    [0] =>
    [1] =>
    [2] =>
    [3] =>
    [4] =>
    [5] =>
    [6] =>
    [7] =>
    [8] =>
    [9] =>
    [10] =>
    [11] =>
    [12] =>
    [13] => META Keywords
    [14] => META Description
    [15] => (кг)
    [16] =>
    [17] => (2)
    [18] =>
    [19] =>
    [20] =>
    )

    [1] => Array
    (
    [0] => 30
    [1] =>
    [2] =>
    [3] =>
    [4] =>
    [5] =>
    [6] =>
    [7] =>
    [8] =>
    [9] =>
    [10] =>
    [11] =>
    [12] =>
    [13] =>
    [14] =>
    [15] =>
    [16] =>
    [17] =>
    [18] =>
    [19] =>
    [20] =>
    )

    [2] => Array
    (
    [0] => 1
    [1] =>
    [2] =>
    [3] => !Ricoh
    [4] =>
    [5] =>
    [6] =>
    [7] =>
    [8] =>
    [9] =>
    [10] =>
    [11] =>
    [12] =>
    [13] =>
    [14] =>
    [15] =>
    [16] =>
    [17] =>
    [18] =>
    [19] =>
    [20] =>
    )

    [3] => Array
    (
    [0] => 9000
    [1] =>
    [2] =>
    [3] => !!Пусконаладочная работа
    [4] =>
    [5] =>
    [6] =>
    [7] =>
    [8] =>
    [9] =>
    [10] =>
    [11] =>
    [12] =>
    [13] =>
    [14] =>
    [15] =>
    [16] =>
    [17] =>
    [18] =>
    [19] =>
    [20] =>
    )

    [4] => Array
    (
    [0] => 900001
    [1] => ISP1000
    [2] =>
    [3] => Ricoh Aficio SP1000
    [4] =>
    [5] =>
    [6] => 855
    [7] =>
    [8] =>
    [9] =>
    [10] =>
    [11] =>
    [12] =>
    [13] => , копир, многофункциональное устройство, Ricoh Aficio, сервисный ремонт копировальной техники, расходные материалы, ИВК, Aficio, Ricoh, ИВК на Войковской, Войковская, сервисный центр, принтер, факс, сканер, опции, цветное копирование,
    [14] =>
    [15] =>
    [16] =>
    [17] =>
    [18] =>
    [19] =>
    [20] => RUR
    )

    [5] => Array
    (
    [0] => 900002
    [1] => IFX200
    [2] =>
    [3] => Ricoh Aficio FX200
    [4] =>
    [5] =>
    [6] => 950
    [7] =>
    [8] =>
    [9] =>
    [10] =>
    [11] =>
    [12] =>
    [13] => , копир, многофункциональное устройство, Ricoh Aficio, сервисный ремонт копировальной техники, расходные материалы, ИВК, Aficio, Ricoh, ИВК на Войковской, Войковская, сервисный центр, принтер, факс, сканер, опции, цветное копирование,
    [14] =>
    [15] =>
    [16] =>
    [17] =>
    [18] =>
    [19] =>
    [20] => RUR
    )
    ….
    1. file.rar (50)
  • Professor

    Сообщения: 2089 Репутация: N Группа: Адекваты

    Spritz 24 сентября 2008 г. 13:16, спустя 1 минуту 13 секунд

    С какими изменениями на сервере это может быть связанно??
  • AlexB

    Сообщения: 4306 Репутация: N Группа: в ухо

    Spritz 24 сентября 2008 г. 13:18, спустя 1 минуту 32 секунды

    А чем тебя функция explode не устраивает? Нах preg_replace?

    И вообще, запихнуть csv в массив это три строчки кода. Откуда эти все навороты?
  • Professor

    Сообщения: 2089 Репутация: N Группа: Адекваты

    Spritz 24 сентября 2008 г. 13:34, спустя 15 минут 48 секунд

    $row[6]=preg_replace("#,#",".",$row[6])

    Это нужно для замены разделителя в ячейке "Цена".
    В Икселе "," а нужна точка.
    Если прям там изменить то он некоректно обрабатывает как то, формат ячейке делает как дата.

    И вообще, запихнуть csv в массив это три строчки кода. Откуда эти все навороты?


    Это к разработчикам Shop-Script =))
    Я модуль пишу для магазина. А тут токая проблемма возникла,Сказали исправить, но нифига не исправляется =((
  • md5

    Сообщения: 11960 Репутация: N Группа: в ухо

    Spritz 24 сентября 2008 г. 13:43, спустя 9 минут 26 секунд


    Shop-Script =))
    чур меня чур!!!!!11
    а шаблоны из верстки можешь для него делать? сколько стоит?
    все умрут, а я изумруд
  • Professor

    Сообщения: 2089 Репутация: N Группа: Адекваты

    Spritz 24 сентября 2008 г. 14:13, спустя 29 минут 58 секунд

    а шаблоны из верстки можешь для него делать? сколько стоит?

    Могу, но это не интересно и скучно=))
  • Professor

    Сообщения: 2089 Репутация: N Группа: Адекваты

    Spritz 24 сентября 2008 г. 17:02, спустя 2 часа 48 минут 36 секунд

    Я так понимая, даже предположений нет, почему такое может происходить??
  • adw0rd

    Сообщения: 22959 Репутация: N Группа: в ухо

    Spritz 24 сентября 2008 г. 17:15, спустя 13 минут 13 секунд

    Professor, теперь покажи входные данные! Мы же не телепаты…
    https://smappi.org/ - платформа по созданию API на все случаи жизни

Пожалуйста, авторизуйтесь, чтобы написать комментарий!