Autor Zpráva
Atxl
Profil *
Potřeboval bych naincludovat soubor do proměnné... = uložit obsah souboru do proměnné (file_get_contents) a nechat probehnout script co je v té proměnné a to právě nevím jak... poraďte prosím ;)
Leo
Profil
Nejak jsem nepochopil, proc to chcete do promenne a pak zpracovat, na to je prave include, ne? K cemu vam to bude v promenne kdyz to chcete zpracovat? V souboru uz to mate, ten includujete... Leo
Atxl
Profil *
mno ja to potrebuju do meho template systemu... abych mohl vlozit sablonu do sablony...
WertriK
Profil *
proste potrebuje vykona obsah promenne jako kdyby to byl script ...
WertriK
Profil *
neco jako
$echo = "echo \"brm\";

nejakafce($echo); =->vypise brm a ne echo "brm"
xixli
Profil
Asi chceš eval()
Atxl
Profil *
mam sablonu do ktery includuju dejme tomu hlavicku a paticku...
<!--inc:hlavicka.php-->
<h1><!--echo:title--></h1>
<p>text</p>
<!--inc:paticka.php-->
...a ty soubory na který odkazuju jsou php scripty obsluhující tu konkrétní šablonu... takže potřebuju aby sccript proběhl a výsledek mi nahradil <!--inc:hlavicka.php--> třeba <html><head>Nejake title</head><body>
Hugo
Profil
WertriK

K tomu slouží funkce eval(), ale ta asi neschroupne celý soubor. A je nějaký dúvod, proč na to rovnou nepoužiješ include?? Proč to nejdřív chceš načíst do proměnné?
Hugo
Profil
Atxl

Nojo, to je jiná. Potom potřebuješ toto:
http://php.ftp.cvut.cz/manual/en/ref.outcontrol.php

Necháš ten skript proběhnout a pomocí funkcí pro řízení výstupu ho uložíš do proměnné.
xixli
Profil

ob_start();
eval($code);
$cont=ob_get_contents();
ob_end_clean();
echo $cont;
Leo
Profil
Melo by to jit i bez evalu. Tu sablonu zpracovavate jak? Leo
Atxl
Profil *
sablonu zpracovavam pomoci preg_replace_callback
Atxl
Profil *
při použití eval mi to vyhodí syntax error, ale když soubor spustím normálně tak funguje :(
Leo
Profil
"při použití eval mi to vyhodí syntax error, ale když soubor spustím normálně tak funguje :("

no pokud obsah souboru vypada takhle

<?php echo "ahoj"; ?>

tak je jasny, ze samotny nebo includovany bezi, ale eval tohoto kodu jako celku ne, Leo
Hugo
Profil
IMHO by mělo stačit něco takového

ob_start();
include($file);
$cont = ob_get_contents();
ob_end_clean();
Leo
Profil
Nejak jsem nad tim nesedel a nepremyslel, ale taky bych rekl, ze jakmile narazite na

<!--inc:hlavicka.php-->

provedete proste include. Leo
Atxl
Profil *
mno...
ob_start();
include($file);
$cont = ob_get_contents();
ob_end_clean();
...toto funguje... ale nedošlo mi, že se mi deklaruje třída ve třídě :( a nenapadlo mě to nahradit pouhým include formou textu, aby se to zpracovalo až při zpracování šablony... ;) Dík všem

PS: Uvítám návrh jak se vyvarovat deklarace třídy ve třídě :) třeba jak zajistit změnu názvu třídy :)
Atxl
Profil *
sakra vyskytl se problem.. kdyz to nahradim pouhym '<?php include"neco.php"?>' tak jak to potom zpracuju? anizbych to ulozil (eval taky nepripada k uvahu)?
Leo
Profil
Co se trid tyka tak to vam neporadim, jsem proceduralni typ. A v tom neco.php ma syntaxi php nebo syntaxi vasi sablony? Leo
Atxl
Profil *
v tom neco mam php, ale ted me tak napada ze stejne pokud budu vyuzivat nejakou sablonu tak do ni budu chtit jiny obsah..., alespon castecne takze kdyz budu includovat samotné šablony tak se tím problém vyřeší, ale nějaké asi také budou potřeba includovat se scriptem...:(
Toto téma je uzamčeno. Odpověď nelze zaslat.

0