За последние 24 часа нас посетили 16682 программиста и 1650 роботов. Сейчас ищут 2024 программиста ...

обрезает файл на выходе до 4кб :(, что с этим делать?

Тема в разделе "PHP и базы данных", создана пользователем Toli, 20 сен 2008.

  1. Toli

    Toli Активный пользователь

    С нами с:
    20 сен 2008
    Сообщения:
    2
    Симпатии:
    0
    Добрый день!
    PHP + SQL2000(2005) через ODBC.
    есть древняяя прога, которая записывает большие файлы в поля на ms sql2000,и потом потом позваляет их просматривать(все уже давно работает, sql настроен,но исходников нет(вернее они где-то есть,но найти уже почти нериально), только компилированные экзешнеики и на sql полный доступ - я там админ ),есть задача - надо их от туда вынимать и записывать обратно в фаил.
    Читаю тело файла из длинного поля(>4096) размером в 163 кб и записываю его в файл.

    Код (Text):
    1. $query = "SELECT list FROM $dbname.dbo.doc_in_pdf
    2. WHERE id = $_GET[id]";
    3. $cur = odbc_exec($dbcnx, $query);
    4. if(!$cur) exit(odbc_error());
    5.  
    6. odbc_binmode($cur, ODBC_BINMODE_PASSTHRU);
    7. odbc_longreadlen($cur, 163840);
    8.  
    9. $fp = fopen("имя.pdf", "a+");
    10. while(odbc_fetch_row($cur)) {
    11. $bigger = odbc_result($cur, 1);
    12. /* etc... */
    13. fwrite($fp, $bigger);
    14. print "А<br>";
    15. }
    16. fclose($fp);
    А в результате ODBC обрезает файл на выходе до 4096:(
    в php.ini можно посылать.
    там есть строки

    odbc.defaultlrl=4096 - каково макс значение этого параметра?влияет ли на что-то его повышение?(у меня не на что не влияет, но мож я что-то не так делаю?

    все остальное больше 163 кб,хотя там есть файлы под 100 мб, но это потом,достать хотябы этот



    Кто-нибудь знает, как заставить возвращать больше 4 кб для длинных полей для связки рнр -sql2000-2005?
    Заранее благодарен!!!
     
  2. neverlose

    neverlose Активный пользователь

    С нами с:
    27 авг 2008
    Сообщения:
    1.112
    Симпатии:
    20
    odbc.defaultlrl должен помочь, после изменения перезагрузи вэб сервер.
     
  3. Toli

    Toli Активный пользователь

    С нами с:
    20 сен 2008
    Сообщения:
    2
    Симпатии:
    0
    neverlose
    спасибо,но как выясн. это не влияло,а был криво каким-то образом установлен php. Поставил на win2003,настроил на сервере php сам и все заработало, правда с другим операторами.
    этот почему-то минус 1 байт иногда возвращает, разбиратся уже нет времени.