Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: TEMPLATE i GLOBAL ?
Forum PHP.pl > Forum > PHP
wassago
Taki problem:
mamy sobie plik template.php ...
Kod
<?



$filedirectory = 'http://localhost/template';

$filepath = 'pliki';

$template = 'template_.php';



function die_nice($message){

  die("$message");

}





if ( !$file) die_nice("Zle nazwane odwolanie do skryptu! Powinno wygladac tak: template.php?file=filename");





if ( !file_exists("$filepath/$file") ) die_nice("Plik $file nie istnieje!");





$fp = fopen ("$template", "r") or die_nice("Nie mozna odnalesc tempalety: $template");

$contents = fread ($fp, filesize ($template));

fclose ($fp);





$fpf = fopen ("$filepath/$file", "r") or die_nice("Plik $file nie istnieje!");

$lines = file("$filepath/$file");

list($tyt,$tresc) = explode("::", $lines[0]);

$tytul = strtoupper($tyt);

fclose ($fpf);





$contents = str_replace("[TRESC]", $tresc, $contents);

$contents = str_replace("[TYTUL]", $tytul, $contents);

$contents = str_replace("ą", "&plusmn;", $contents);

$contents = str_replace("ś", "&para;", $contents);

$contents = str_replace("ź", "Ľ", $contents);

$contents = str_replace("Ą", "ˇ", $contents);

$contents = str_replace("Ś", "&brvbar;", $contents);

$contents = str_replace("Ź", "&not;", $contents);





print stripslashes($contents);



?>

... ktory jest odpowiedzialny za wypelnienie pliku template_.php ...
Kod
<html>

<body>

<h1>[TYTUL]</h1><br><hr>

<h4>[TRESC]</h4>

</body>

</html>

... zawartoscia pliku x.txt ...
Kod
jakis tam tytul::i jakas tam tresc...

... odwoluje sie do pliku template.php w ten sposob template.php?file=x.txt i wszystko gra!
ale chcialbym zmienic to na globala, zrobilem to w ten sposob (zawartosc pliku indexx.php):
Kod
<a href=indexx.php?id=1>indexx.php?id=1</a><br><br>



<?

if(!isset($id)) { include("1.php"); }

else { if($id==0){ include("1.php"); }

elseif($id==1){ include("template.php?file=x.txt"); }

}

?>

oczywiscie takie rozwiazanie nie dziala bo php nie moze odnalezc pliku template.php?file=x.txt
Cytat
Warning: Failed opening 'template.php?file=x.txt' for inclusion (include_path='') in c:foxservwwwtemplateindexx.php on line 6

czy mozna jakos temu zaradzic?? chodzi o to aby odwolanie do template.php?file=x.txt dzialalo tak jak bym sie odwolywal do zwyklego pliku template.php z instukcja ?file=x.txt a nie qrna do template.php?file=x.txt ...
moja wiedza o php jest dosc skromna dlatego bardzo prosze o pomoc ... od dawna obserwuje to forum i wiem ze dla was ludziska taki problem to nie problem :wink:
DeyV
końcowa pochwałą zmobilizaowała meni do pisania, stąd powiem ci, że nie musisz torzyć adresu w postaci 'nazwa.php?file=x.txt' gdyż wszystkie zmienne dostępne w miejscu gdzie includujesz inny plik, są dostępne również w tym pliku. Czyli:
Kod
...

else { if($id==0){ include("1.php"); }

elseif($id==1){

$file='x.txt';

include 'template.php';

}
Reszta w manualu
wassago
no bobra.. bo zeczywiscie zabralem sie do tego od zlej strony :idea: ... ale teraz mam inny problem:
moim plikiem template_.php jest np cos takiego:
Kod
<html>

<body>

<h1>[TYTUL]</h1><br><hr>

<h4>[TRESC]</h4>

<?php include("jakistamplik.php"); ?> // *ta linia

</body>

</html>


* codzi o to ze plik template_.php ktory jest "przerabiany" przez template.php nie implementuje jakiegokolwiek kodu napisanego w php... probowalem juz tylu sposobow i nic.. tzn.. po uzupelnieniu template_.php zawartosica pliku x.txt kod php dalej jest niewidoczny.. ale jak edytuje uzupelniony plik w notepadzie kod jest pokazywany (nie iem dla czego :?: :?: ) - o co chodzi :?:
zalew
najpierw mowisz ze:
>>
$fp = fopen [...]
$contents = fread ($fp, filesize ($template)); [..]
$contents = str_replace("[TRESC]", $tresc, $contents);
$contents = str_replace("[TYTUL]", $tytul, $contents); [..]
<<
a wiec dolaczasz swoj plik jako string... czyli ci nie zinterpretuje ci komendy include("cokolwiek")..
niech plika nadrzedny ma dodatkowe komendy php.. a szablon niech ma czysty html ze wstawkami [[costam]] .. ja tak robie..
o to chodzilo? smile.gif mam nadzieje ze pomoglem... pozdrowki
wassago
Kod
a szablon niech ma czysty html ze wstawkami [[costam]] .. ja tak robie..
no zeczywiscie :oops: ale "sierota" ze mie sam sobie problem robie... tyle ze chcialem sie dowiedziec czy istniej spodob abym nie musial zmieniac template'y na HTML bo tam duuzoo kodu php jest :? ale dobre i to... wielkie dzieki zalew..pozdrawiam[/quote]
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.