Autor Zpráva
vasek125
Profil *
Potřebuji vložit soubor do stránky tak, aby se vzal v potaz i php kód toho vloženého souboru. Nemohu použít include ani require, protože tyto funkce soubor vloží do stánky okamžitě; Potřebuju přesně tohle: $text=$soubor_ktery_obsahuje_i_php_kod;
Když použiju funkci read, neparsuje php.
koudi
Profil
eval(). Ale přijde mi to docela podivné, nejdřiv to načíst a pak až někdy volat. Proč to nevolat přímo při načtení?
ah01
Profil
Spíš než fci. eval() bych doporučoval použít řízení výstupu.

ob_start();
@include_once 'vas_soubor';
$text = ob_get_contents();
ob_end_clean();
vasek125
Profil *
koudi: Protože to nejdřív načtu a potom tam udělám nějaký změny: nahradím řetězce.... podle nastavení.
tiso
Profil
vasek125
Tak to máš asi zle navrhnuté a mal by si to celé prekopať...
vasek125
Profil *
tiso: Tak jak byste udělat tohle: jedna šablona, určující vzhled stránky, v té šabloně <--obsah-->, který php nahradí skutečným nastaveným obsahem.
koudi
Profil
vasek125
Nějak se nezmiňuješ, kde tam je ten php kód.
vasek125
Profil *
<?php
header('Expires: Mon, 14 Sep 2006 15:25:20 GMT');
header('Last-Modified: Mon, 14 Aug 2006 23:17:20 GMT');

include_once('./include/path.inc');
require_once('./config/config.php');
require_once('./include/lang.inc');
require_once ('./include/functions.php');


$paticka=read_from_file_with_php($paticka_path . "paticka.php");
$sablona=read_from_file($sablona_path . "sablona.html");
$obsah=read_from_file($obsah_path . active_template());
$menu = selected_item();

$text = $sablona;
$patterns = array(
"/<--paticka-->/Smu",
"/<--meta-->/Smu",
"/<--obsah-->/Smu",
"/<--menu-->/Smu"
);
$replacements = array(
"$paticka",
"$meta_def",
"$obsah",
"$menu"
);
$text = preg_replace($patterns,$replacements, $text);

echo $text;
?>
vasek125
Profil *
ah01: to ob_start ani podobné příklady, co jsem našel na internetu nefungují.
vasek125
Profil *
Jako kdyby tam vůbec nebyly
tiso
Profil
vasek125
Pár šablonovacích systémov už existuje, začal by som rozborom funkčnosti niektorého z nich...
vasek125
Profil *
A jinak by to nešlo?? Než to ob?? V tom souboru není jen php kód a tak nemohu použít eval
ah01
Profil
vasek125
zapomněl jsem ještě vymazat výstup, už je to opraveno...

PS: tahla metoda je použita v TemplatePower
vasek125
Profil *
ah01: zajímavý že jsem zkoušel i jiné příklady s ob_start z php.net a taky nefungovalo :). Ael tohle už funguje, dík.
Toto téma je uzamčeno. Odpověď nelze zaslat.

0