За последние 24 часа нас посетили 63203 программиста и 1738 роботов. Сейчас ищут 853 программиста ...

Где хранится буфер

Тема в разделе "PHP для новичков", создана пользователем heapKiller, 22 мар 2009.

  1. heapKiller

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

    С нами с:
    27 авг 2008
    Сообщения:
    95
    Симпатии:
    0
    Делаем
    PHP:
    1. print(fread($f, 1024*4));
    2.  
    Вопрос где это хранится до flush?
     
  2. Mr.M.I.T.

    Mr.M.I.T. Старожил

    С нами с:
    28 янв 2008
    Сообщения:
    4.586
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
    не знаю точно, но следуя путём логических заклчений должно храниться в памети
     
  3. heapKiller

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

    С нами с:
    27 авг 2008
    Сообщения:
    95
    Симпатии:
    0
    Спасибо. Действительно вроде там. Короче вопрос был по такой причине:

    ob_start();
    while(!feof($f)){
    print(fread($f, 1024*4));
    ob_flush();
    flush();
    }
    Работает для не очень больших файлов (5 -10 Mб). Для больших (70-100 Мб) - в браузер ничего не прилетает. Я еще не выяснил точно, но судя по сообщениям такого вида в error_log апача:

    Allowed memory size of **** bytes exhaused (tried to allocate 10240 bytes)

    это связано с потреблением памяти при чтении этих файлов. Учитывая, что при превышении процесс мочится ВМ - надо уменьшать.
    А как?
     
  4. Elkaz

    Elkaz Старожил
    Команда форума Модератор

    С нами с:
    26 июн 2006
    Сообщения:
    3.373
    Симпатии:
    0
    Адрес:
    Баку, Азербайджан
    heapKiller
    Увеличить размер оперативной памяти для РНР :)
     
  5. Alost

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

    С нами с:
    7 фев 2009
    Сообщения:
    335
    Симпатии:
    0
    Адрес:
    Город вокруг невы
    Это в настройках php.ini а не на материнской плате.