Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.95/19: Рейтинг темы: голосов - 19, средняя оценка - 4.95
front-end developer
 Аватар для Vicont
284 / 275 / 39
Регистрация: 31.08.2010
Сообщений: 577
Записей в блоге: 1

Функции управления выводом flush() и ob_flush()

04.12.2011, 22:24. Показов 3764. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте! Помогите разобраться в функциях управления выводом, а именно в flush() ob_flush().
В источниках написано следующее:

flush -- Освобождает (выводит) буфер вывода
ob_flush -- Освобождает (выводит) буфер вывода

В чем же разница использования данных функций?
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
04.12.2011, 22:24
Ответы с готовыми решениями:

ob_flush() flush()
Мне понадобилось выводить echo во время выполнения скрипта. Использовал такой код: <? ob_start(); for($i=0;$i<4;$i++) { echo...

Аргумент flush функции print
Не совсем понимаю зачем этот аргумент и как он работает, по идее он должен очищать файл, в который мы выводим, тогда вот этот код: import...

Средства управления вводом/выводом. Массивы
Cредства управления вводом/выводом. Дан целочисленный массив А(n,n) (n<=6). Вывести его на экран, рядом вывести этот же массив, но...

1
 Аватар для Vovan-VE
13210 / 6599 / 1041
Регистрация: 10.01.2008
Сообщений: 15,069
05.12.2011, 18:59
Лучший ответ Сообщение было отмечено Vicont как решение

Решение

В php.ini можно включить буферизацию вывода (output_buffering). Тогда весь вывод к клиенту будет посылаться не сразу же мелкими кусками, как только вывели очередной символ, а только при накоплении полного буфера. Благодаря этому, например, такой код может и не выдать жалкий notice о том, что headers already sent, если буфер еще не успел ни разу заполниться и отправиться.
PHP Скопировано
1
2
3
4
5
6
<?php
/* !!! только при включенном output_buffering !!! */
echo 'мусор';
 
header('Location: /');
exit;
Так вот flush() управляет именно этом настоящим буфером настоящего вывода клиенту.

А ob_flush() уплавляет другими буферами, которые позволяют программисту временно захватывать вывод. Функция ob_flush() смывает данные из самого верхнего буфера в стеке буферов в предыдущий буфер, если он есть, или в тот буфер, что описывается в предыдущем абзаце, если этот буфер только один.

Если мы используем и output_buffering, и один ob_*(), то для вывода клиенту нам нужно вызвать сначала ob_flush(), чтобы выбросить данные в вывод (но там output_buffering), а потом уже flush().
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
05.12.2011, 18:59
Помогаю со студенческими работами здесь

Структура системы управления вводом-выводом
Помогите, пожалуйста, глупой девушке-программисту. Изучаю совсем недавно Unix.Совсем не мое.Но задание сделать нужно. Не понимаю как делать...

Значения флагов-манипуляторов управления вводом/выводом.
Почему отличаются значения флагов-манипуляторов управления вводом/выводом, которые нахожу в инете, от тех значений, которые применяются в...

Нужно добавить условие в цикл для управления выводом
Привет. Имеется следующий код. Нужно сделать так, чтобы при первом прогоне цикла, выводилась информация как есть, при последующих, не...

Выполнить поставленную задачу, используя средства управления вводом/выводом
Решить поставленную задачу, используя средства управления вводом/выводом. Дан целочисленный массив А(n,n) (n&lt;=6). Вывести его на экран,...

Файловая система и система управления вводом-выводом в ОС Linux
Дали задание написать вот что: &quot;Разработать программу, которая выводит на экран содержимое текущего каталога, упорядоченное по времени...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Обмен данными в микросервисной архитектуре
ArchitectMsa 06.04.2025
Когда разработчики начинают погружаться в мир микросервисов, они часто сталкиваются с парадоксальным правилом: "два сервиса не должны делить один источник данных". Эта мантра звучит повсюду в. . .
PostgreSQL в Kubernetes: Автоматизация обслуживания с CNPG
Mr. Docker 06.04.2025
Администраторы баз данных сталкиваются с целым рядом проблем при обслуживании PostgreSQL в Kubernetes: как обеспечить правильную репликацию данных, как настроить автоматическое переключение при. . .
Async/await в TypeScript
run.dev 06.04.2025
Асинхронное программирование — это подход к разработке программного обеспечения, при котором операции выполняются независимо друг от друга. В отличие от синхронного выполнения, где каждая последующая. . .
Многопоточность в C#: Синхронизация потоков
UnmanagedCoder 06.04.2025
Многопоточное программирование стало неотъемлемой частью разработки современных приложений на C#. С появлением многоядерных процессоров возможность выполнять несколько задач параллельно значительно. . .
TypeScript: Классы и конструкторы
run.dev 06.04.2025
TypeScript, как статически типизированный язык, построенный на основе JavaScript, привнес в веб-разработку новый уровень надежности и структурированности кода. Одним из важнейших элементов этой. . .
Многопоточное программирование: Rust против C++
golander 06.04.2025
C++ существует уже несколько десятилетий и его поддержка параллелизма постепенно наращивалась со временем. Начиная с C++11, язык получил стандартную библиотеку для работы с потоками, а в последующих. . .
std::vector в C++: от основ к оптимизации производительности
NullReferenced 05.04.2025
Для многих программистов знакомство с std::vector происходит на ранних этапах изучения языка, но между базовым пониманием и подлинным мастерством лежит огромная дистанция. Контейнер std::vector. . .
Реляционная модель и правила Кодда: фундамент современных баз данных
Codd 05.04.2025
Конец 1960-х — начало 1970-х годов был периодом глубоких трансформаций в области хранения и обработки данных. На фоне растущих потребностей бизнеса и правительственных структур существовавшие на тот. . .
Асинхронные операции в Django с Celery
py-thonny 05.04.2025
Разработчики Django часто сталкиваются с проблемой, когда пользователь нажимает кнопку отправки формы и. . . ждёт. Секунды растягиваются в минуты, терпение иссякает, а интерфейс приложения замирает. . . .
Использование кэшей CPU: Максимальная производительность в Go
golander 05.04.2025
Разработчикам хорошо известно, что эффективность кода зависит не только от алгоритмов и структур данных, но и от того, насколько удачно программа взаимодействует с железом. Среди множества факторов,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru
Выделить код Копировать код Сохранить код Нормальный размер Увеличенный размер