Autor | Zpráva | ||
---|---|---|---|
phpX Profil |
#1 · Zasláno: 30. 11. 2008, 12:39:35
Dobrý den,
mám otázku na outbut buffering. Uvádím zjednodušený příklad. Tohle jsem našel v PHP manuálu: ob_start(); echo 'Text that won\'t get displayed.'; ob_end_clean(); Poupravil jsem to takhle: ob_start(); while (1) echo 'Text that won\'t get displayed.'; ob_end_clean(); Otevřel jsem stránku z prohlížeče a po několika vteřinách se výstup zobrazil. Lze nějak zaručit, aby se tento výstup nezobrazil? |
||
Alphard Profil |
#2 · Zasláno: 30. 11. 2008, 13:11:54
váš příklad je dosti pochybný
zacyklední zatíží server a asi bude ukončeno chybou, memory limit, time limit a nevím co ještě pak je dost možné, že se nebude vyhodnocovat zbytek scriptu a skončí to všude jinde, já jsem to zkusil u sebe a skončilo to chybou, kterou mi oznámila Opera, podrobnosti nevím a ani mě nazajímají jestli nechcete výpis, nepoužívejte echo, jinak v normálním programu bude příklad z manuálu fungovat |
||
phpX Profil |
#3 · Zasláno: 30. 11. 2008, 15:47:00
A jak mám potom řešit situaci, kdy mám php skript a chci jej includovat do proměnné - aniž bych použil ob?
|
||
TFSi Profil |
#4 · Zasláno: 30. 11. 2008, 17:19:17
phpX
„chci jej includovat do proměnné“ Co to? Něco jako: $code = file_get_contents('included_file.php'); ??? |
||
Kcko Profil |
#5 · Zasláno: 30. 11. 2008, 18:42:30
Psal ze chce includovat php kod do promenne .. cili urcity usek kodu .. na ob_start nevidim nic spatneho .. jinak take
http://www.webfaq.cz/clanek/Jak-na-mnohonasobne-bufferovani-aneb-jak-s pravne-pouzivat-ob-start |
||
Mastodont Profil |
#6 · Zasláno: 30. 11. 2008, 19:56:06
Anebo vkládat přes include jako návratovou hodnotu, pokud chce do proměnné dostat třeba pole, ne obyčejný string.
|
||
phpX Profil |
#7 · Zasláno: 1. 12. 2008, 18:20:46
na tohle jsem přišel:
<?php ob_start (); for ($i=0;$i<1e7;$i++) echo 'a'; $len = ob_get_length (); ob_clean (); echo $len; Kcko jo, to je dobrý, díky za radu Mastodont to řeším funkcí serialize () ;-) |
||
Časová prodleva: 15 let
|
0