PHP ob_
PHP ob_
Zdravím,
veľmi by som poprosil, aby mi mohol aspoň niekto napísať malý kód, kde by bolo jasne naznačené, čo robia tieto funkcie: ob_start, ob_get_contents, ob_flush, flush, ob_end_*
Čo som pozeral na php.net tak moc príkladov, ktoré by mi dali jasne najavo o čo ide som nenašiel.
Ďakujem za každú radu
veľmi by som poprosil, aby mi mohol aspoň niekto napísať malý kód, kde by bolo jasne naznačené, čo robia tieto funkcie: ob_start, ob_get_contents, ob_flush, flush, ob_end_*
Čo som pozeral na php.net tak moc príkladov, ktoré by mi dali jasne najavo o čo ide som nenašiel.
Ďakujem za každú radu
-
camo
Medium Expert
- Príspevky: 98
- Registrovaný: 05 sep 2009, 14:01
- Bydlisko: Lehota
- Kontaktovať používateľa:
Re: PHP ob_
Nechápem čo nechápeš. Na php.net máš pri ob_start všetko na čo si sa pýtal vysvetlené hneď v prvých dvoch odstavcoch.
-
audiotrack
VIP
- Príspevky: 25958
- Registrovaný: 09 sep 2005, 18:39
- Kontaktovať používateľa:
Re: PHP ob_
ob = output buffer. Takže ob_start() nastaví že všetko čo ide na výstup (funkcie echo, print..) nepôjde na monitor ale do bufferu. ob_flush() zase všetko z bufferu vypíše na monitor. ob_get_contents() zoberie obsah bufferu a priradí do premennej.. Ukážky máš na php.net. Tieto funkcie nepoužívaj pokiaľ nemusíš, sú dosť pamäťovo náročné keď všetko pcháš do bufferu namiesto priameho výpisu na výstup
Re: PHP ob_
dík audiotrack .. a nevedel by si mi poradiť, ako by som mohol vypísať konštantu, ktorú definujem až po jej vypísaní ? Samozrejme že to chcem riešiť cez tieto funkcie ..
Mne to nejako nejde ..
Mne to nejako nejde ..
Kód: Vybrať všetko
ob_start();
echo KONSTANTA;,
...
define("KONSTANTA", ob_get_contents());
ob_end_flush();
Re: PHP ob_
Prečo chceš robiť takúto zvrhlosť? 
Re: PHP ob_
To je jedno prečo
Proste by som to nejako potreboval docieliť a neviem ako .. a od známych som sa dozvedel že to ide práve cez túto funkciu
Re: PHP ob_
Možno podcením vlastnosť php prekvapovať ma hlúposťami, ale toto by už z princípu nemalo byť možné a neviem si predstaviť ten zvrátený dôvod, ktorý by takúto konštrukciu vyžadoval.

Ja nemám nič proti PHP, naopak mám ten jazyk veľmi rád a často ho používam. Ale je v ňom toľko divných vecí, že by som sa nečudoval, keby sa tam dala vypisovať budúcnosťharrison napísal:Neviem co maju vsetci proti PHP ?
-
harrison314
Hardcore addict
- Príspevky: 8223
- Registrovaný: 27 máj 2009, 20:42
- Bydlisko: Bratislava
- Kontaktovať používateľa:
Re: PHP ob_
Neviem co maju vsetci proti PHP ?
BX: nie nahodou hlupost ludi ?
<Genius/PRO> : Ako chces vypisat daco co nejstvuje ?
BX: nie nahodou hlupost ludi ?
<Genius/PRO> : Ako chces vypisat daco co nejstvuje ?
Re: PHP ob_
Ehm.. proste podľa názoru iných sa to má v buferi povedzme spracovať aby to potom bolo použiteľné
-
audiotrack
VIP
- Príspevky: 25958
- Registrovaný: 09 sep 2005, 18:39
- Kontaktovať používateľa:
Re: PHP ob_
iní ťa klamú, lebo ich prog. zručnosti asi neprevyšujú tie tvoje
Re: PHP ob_
vraj to je tak spravené aj v RS PHP-Fusion .. pri výpise CONTENT konkrétne
Re: PHP ob_
Tak si ho stiahni a pozri sa ako to robia.
Stále by ma ale zaujímal dôvod.
Stále by ma ale zaujímal dôvod.
-
audiotrack
VIP
- Príspevky: 25958
- Registrovaný: 09 sep 2005, 18:39
- Kontaktovať používateľa:
Re: PHP ob_
a to ti je taký problém tú konštantu definovať skôr? Takýto návrh ako sa pokúšaš spraviť je zverstvo a dúfam že ak to aj nejakou fintou ide, tak sa nikdy nestretnem s takým kódom. Ale nemyslím že by to malo ísť, zrejme je to iba nejaké makro a nie konštanta
-
harrison314
Hardcore addict
- Príspevky: 8223
- Registrovaný: 27 máj 2009, 20:42
- Bydlisko: Bratislava
- Kontaktovať používateľa:
Re: PHP ob_
Da sa spravit daco takehoto, ale pouzivat to je vrcholne nevhodne.
Praca z vystupnym bufrom by mala byt iba ak chces komprimovat obsah.
Ja som ju este pouzival na istom free servery na odstranenie html reklami ktora bola vkladana do CAPTCHi.
Kód: Vybrať všetko
ob_start();
echo "KONSTANTA";,
...
$content= strreplace(ob_get_contents(),"KONSTANTA", " novy obsah");
ob_end_clean();
echo $content;
flush();
ob_end_flush();
Ja som ju este pouzival na istom free servery na odstranenie html reklami ktora bola vkladana do CAPTCHi.
-
TommyHot
Addict
- Príspevky: 3340
- Registrovaný: 25 okt 2009, 0:23
- Bydlisko: Bratislava
- Kontaktovať používateľa:
Re: PHP ob_
To si v ktorom americkom filme videl robit taketo prasaciny? Konstanta musi byt jasne definovana a funkcia moze mat variabilny vystup. Nie je toho jazyka, ktory by ti toto zozral<Genius/PRO> napísal:Kód: Vybrať všetko
define("KONSTANTA", ob_get_contents());
-
audiotrack
VIP
- Príspevky: 25958
- Registrovaný: 09 sep 2005, 18:39
- Kontaktovať používateľa:
Re: PHP ob_
TommyHot napísal: To si v ktorom americkom filme videl robit taketo prasaciny? Konstanta musi byt jasne definovana a funkcia moze mat variabilny vystup. Nie je toho jazyka, ktory by ti toto zozral
Kód: Vybrať všetko
<?php
function foo(){
return mt_rand(1,100);
}
define("KONSTANTA", foo());
echo KONSTANTA;
?>-
TommyHot
Addict
- Príspevky: 3340
- Registrovaný: 25 okt 2009, 0:23
- Bydlisko: Bratislava
- Kontaktovať používateľa:
Re: PHP ob_
A to som myslel, ze ma php uz nema cim prekvapit. Nebodaj to funguje aj v inych jazykoch?
-
audiotrack
VIP
- Príspevky: 25958
- Registrovaný: 09 sep 2005, 18:39
- Kontaktovať používateľa:
Re: PHP ob_
áno, funguje. V princípe to musí fungovať v každom interpretovanom jazyku
-
TommyHot
Addict
- Príspevky: 3340
- Registrovaný: 25 okt 2009, 0:23
- Bydlisko: Bratislava
- Kontaktovať používateľa:
Re: PHP ob_
Dal by som ruku do ohna za to, ze nedavno mi interpreter hulakal, ked som konstantu definoval premennou, teda
Teraz pozeram, ze s tym php nema problem.
Kód: Vybrať všetko
define('konstanta', $var);-
harrison314
Hardcore addict
- Príspevky: 8223
- Registrovaný: 27 máj 2009, 20:42
- Bydlisko: Bratislava
- Kontaktovať používateľa:
Re: PHP ob_
Konstanta znamena to, ze po jej inicializacii ju nemozes modifikovat a to plati aj v niektorych kompilovanych jazykoch.TommyHot napísal:Dal by som ruku do ohna za to, ze nedavno mi interpreter hulakal, ked som konstantu definoval premennou, teda
Teraz pozeram, ze s tym php nema problem.Kód: Vybrať všetko
define('konstanta', $var);