Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / (PHP) ob_start() / 10 сообщений из 10, страница 1 из 1
15.04.2005, 13:33
    #33018087
viv
viv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) ob_start()
Зачем нужна эта функция?
Просто я пишу крон и увидел ее в примере одном.
Посмотрел значение этой функции в справочнике но так и не понял зачем она нужна.
Можно пояснить для тех кто в танке.
...
Рейтинг: 0 / 0
15.04.2005, 14:40
    #33018274
SDN
SDN
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) ob_start()
[quote viv]Зачем нужна эта функция?
Просто я пишу крон и увидел ее в примере одном.
Посмотрел значение этой функции в справочнике но так и не понял зачем она нужна.
Можно пояснить для тех кто в танке.[quote]

Та чё, вроде всё ясно... )

[quote Manual]
ob_start
(PHP 4)

ob_start - включает буферизацию вывода.

Описание
void ob_start ([string output_callback])

Эта функция включает буферизацию вывода. Если буферизация вывода активна, никакой вывод скрипта не высылается (кроме шапок/headers); вывод сохраняется во внутреннем буфере.

Содержимое этого внутреннего буфера может быть скопировано в строковую переменную с использованием ob_get_contents(). Для вывода содержимого этого внутреннего буфера используйте ob_end_flush(). Альтернативно ob_end_clean() втихую отбрасывает содержимое буфера.[/quote]

Просто весь вывод идёт не клиенту, а в буфер... Т.е., например, ещё можно отсылать header'ы после вывода, но до ob_end_flush()

Posted via ActualForum NNTP Server 1.1
...
Рейтинг: 0 / 0
15.04.2005, 15:10
    #33018349
*
*
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) ob_start()
SDNТ.е., например, ещё можно отсылать header'ы после вывода, но до ob_end_flush()Дурацкий пример. Абсолютно.
...
Рейтинг: 0 / 0
15.04.2005, 15:28
    #33018409
4m@t!c
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) ob_start()
я тоже, когда первый раз увидел такой пример - сказал про себя "дурацкий пример". НО в php.ini написано
php.ini; Output buffering allows you to send header lines (including cookies) even
; after you send body content, at the price of slowing PHP's output layer a
; bit. You can enable output buffering during runtime by calling the output
; buffering functions. You can also enable output buffering for all files by
; setting this directive to On. If you wish to limit the size of the buffer
; to a certain size - you can use a maximum number of bytes instead of 'On', as
; a value for this directive (e.g., output_buffering=4096).
output_buffering = Off
По идее, если ты спрашиваешь, что эта функция делает, то она тебе не так уже и нужна.
Но все таки инетересно, для чего делают буфферизацию вывода?
----------------------------------------
Артисты не приехали, приехали цыгане
...
Рейтинг: 0 / 0
15.04.2005, 15:29
    #33018411
SDN
SDN
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) ob_start()
[quote *]Дурацкий пример. Абсолютно.[/qoute]

Почему?.. И попрошу выражения выбирать!!
Posted via ActualForum NNTP Server 1.1
...
Рейтинг: 0 / 0
15.04.2005, 15:37
    #33018438
*
*
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) ob_start()
SDN[quote *]Дурацкий пример. Абсолютно.[/qoute]Почему?..Потому что в большинстве случаев достаточно изменить логику приложения. При чём сделать это несложно. И даже логично и полезно. А ваш пример по идее способствует развитию безграмотности и непонимания основ протокола HTTP, и массу вопросов типа headers already sent. Вобщем, вредный пример.И попрошу выражения выбирать!!А что я такого сказал? Назвал чёрное чёрным? Или вы "дурацкий пример" проецируете на себя лично? Дурацкие примеры могут давать и вполне разумные люди.
...
Рейтинг: 0 / 0
15.04.2005, 16:16
    #33018589
viv
viv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) ob_start()
Тоесть в кроне ее использовали для того чтоб не каких заголовков не посылать при завершении. ТОесть выполнить буфер как программу и закрыть???
Я правильно понял?
...
Рейтинг: 0 / 0
15.04.2005, 17:53
    #33018898
SDN
SDN
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) ob_start()
Да ладна, эт я так сгоряча ))) На работе много работы )

Я просто привёл такой пример, объясняя принцип работы ob_start(). Я тоже никогда не сталкивался в необходимостью использования этой функции, потому что, как было правильно замечено, "в большинстве случаев достаточно изменить логику приложения" ) Но вот недавно такая необходимость получилась... Чуть позже расскажу, что к чему, а то ща времени в обрез 8/
Posted via ActualForum NNTP Server 1.1
...
Рейтинг: 0 / 0
15.04.2005, 21:33
    #33019175
*
*
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) ob_start()
vivТоесть в кроне ее использовали для того чтоб не каких заголовков не посылать при завершении. ТОесть выполнить буфер как программу и закрыть???
Я правильно понял?Неправильно. Зачем оно было использовано, даже не видя программу, вам никто не скажет. Вообще Output buffering может быть полезен, к примеру, при решении задач кэширования данных. SDNНо вот недавно такая необходимость получилась...Вот и привели бы реальный пример. Пользы было бы гораздо больше. Возможно, и для вас - если бы в итоге выяснилось, что задача имеет другое решение, без всяких output buffering'ов.
...
Рейтинг: 0 / 0
22.04.2005, 17:56
    #33030998
Duke1999
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) ob_start()
ну например при обработке шаблона

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
ob_start();
include_once("module.php");
$module_output = ob_get_contents();
ob_end_clean();

затем в нужном месте
$Source = str_replace ("[module.module_name]", $module_output, $Source);
...
Рейтинг: 0 / 0
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / (PHP) ob_start() / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]