Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

2 Stron V   1 2 >  
Reply to this topicStart new topic
> [PHP] Probelm z własnym systemem szablonów/templet'ek
ZeTu
post
Post #1





Grupa: Zarejestrowani
Postów: 217
Pomógł: 8
Dołączył: 8.12.2010

Ostrzeżenie: (0%)
-----


Witam, nie wiem czemu ale gdy chcę wyświetlić plik x.php w index.php to wyświetla mi "1" :/ zamiast zawartości pliku.
Plik x.php
  1. jakis teskt i kod

Plik index.php
  1. $r = file_get_contents("home.php");
  2. $m2 = include 'x.php';
  3. $r = str_replace("<--asd-->", $m2, $r);
  4.  
  5. echo($r);

Plik home.php
  1. Jakis tekst i kod w srodku <--asd--> jakis kod i tekst

Jeśli w x.php będę miał tak:
  1. <?php return("jakis teskt"); ?>

To będzie działać, ale ja tak nie chcę ponieważ w pliku x.php będzie znajdować się kod php i html.
Nie da się jakoś zastąpić tego return i żeby zamiast wpisywania kodu w return, w pliku index.php po prostu wyświetlało mi tak jak powinno?

Ten post edytował ZeTu 24.09.2012, 15:58:01
Go to the top of the page
+Quote Post
Yorki
post
Post #2





Grupa: Zarejestrowani
Postów: 45
Pomógł: 2
Dołączył: 12.09.2005

Ostrzeżenie: (0%)
-----


Funkcja include nie zwraca zawartości pliku
Go to the top of the page
+Quote Post
ZeTu
post
Post #3





Grupa: Zarejestrowani
Postów: 217
Pomógł: 8
Dołączył: 8.12.2010

Ostrzeżenie: (0%)
-----


Wiem, chcę tylko żeby po wyświetleniu zawartości z pliku home.php zamieniło np. <--asd--> na <?php include(x.php); ?>, a innego sposobu nie znam
Go to the top of the page
+Quote Post
timon27
post
Post #4





Grupa: Zarejestrowani
Postów: 578
Pomógł: 69
Dołączył: 15.04.2007
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


  1. $r = file_get_contents("home.php");
  2. $r = explode("<--asd-->", $r);
  3. $i=0;
  4. foreach($r as $w){
  5. if($i==0) $i++; else include 'x.php';
  6. echo $w;
  7. }


Ten post edytował timon27 23.09.2012, 21:32:38
Go to the top of the page
+Quote Post
ZeTu
post
Post #5





Grupa: Zarejestrowani
Postów: 217
Pomógł: 8
Dołączył: 8.12.2010

Ostrzeżenie: (0%)
-----


No fajnie, a co jeśli mam więcej niż jedne <--asd-->? np. <--das--> <--bad--> i do każdego chcę osobny plik podpiąć?
Go to the top of the page
+Quote Post
timon27
post
Post #6





Grupa: Zarejestrowani
Postów: 578
Pomógł: 69
Dołączył: 15.04.2007
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Cytat(ZeTu @ 23.09.2012, 22:36:39 ) *
No fajnie, a co jeśli mam więcej niż jedne <--asd-->? np. <--das--> <--bad--> i do każdego chcę osobny plik podpiąć?

No to już zostaje ci tylko wyświetlać literka po literce...



  1.  
  2. $r = file_get_contents("home.php");
  3. $d=long($r); //jakaś funkcja zwracająca długość, zapomniałem jak się nazywa
  4. for($i=0;$i<=$d;$i++){
  5. if(substr($d,$i,5)=='<abc>') {include 'abc';$i+=5;}
  6. if(substr($d,$i,5)=='<aaa>') {include 'aaa';$i+=5;}
  7. echo $r[$i];
  8. }




Go to the top of the page
+Quote Post
Szymciosek
post
Post #7





Grupa: Zarejestrowani
Postów: 1 168
Pomógł: 126
Dołączył: 5.02.2010
Skąd: Świdnica

Ostrzeżenie: (0%)
-----


strlen ?
Go to the top of the page
+Quote Post
ZeTu
post
Post #8





Grupa: Zarejestrowani
Postów: 217
Pomógł: 8
Dołączył: 8.12.2010

Ostrzeżenie: (0%)
-----


Timon27 to coś w ogóle nie działa :/
Go to the top of the page
+Quote Post
kyku
post
Post #9





Grupa: Zarejestrowani
Postów: 116
Pomógł: 8
Dołączył: 21.11.2008

Ostrzeżenie: (0%)
-----


return nie służy do wyświetlania tekstu

index.php:
  1. <?php include("2.php");

2.php:
  1. <?php echo "tekst";?>
  2. <div>KOD HTML</div><?php ?>....


Ten post edytował kyku 23.09.2012, 22:50:58
Go to the top of the page
+Quote Post
ZeTu
post
Post #10





Grupa: Zarejestrowani
Postów: 217
Pomógł: 8
Dołączył: 8.12.2010

Ostrzeżenie: (0%)
-----


Kyku toś teraz dowalił ... Nie o to mi chodzi
Go to the top of the page
+Quote Post
Uriziel01
post
Post #11





Grupa: Zarejestrowani
Postów: 307
Pomógł: 37
Dołączył: 9.11.2010
Skąd: Zielona Góra

Ostrzeżenie: (0%)
-----


Jeżeli dobrze rozumiem, w stringu masz wielokrotnie zapisane sekcje w formacie '<--string-->','<--second_string-->' i chcesz aby zawartość tych tagów została zastapiona treścią z plików 'string.php' i 'second_string.php', czy dobrze Cię zrozumiałem ?

EDIT:
Może troszkę na wyrost, ale do czego chcesz tego użyć ? Bo nie wiem czy nie próbujesz stworzyć od nowa systemu template'ów (na pierwszy rzut oka tak to wygląda).

Ten post edytował Uriziel01 24.09.2012, 07:19:30
Go to the top of the page
+Quote Post
ZeTu
post
Post #12





Grupa: Zarejestrowani
Postów: 217
Pomógł: 8
Dołączył: 8.12.2010

Ostrzeżenie: (0%)
-----


Bravo Uriziel01 (IMG:style_emoticons/default/smile.gif) Jedyny mądry który zrozumiał o co mi chodzi (IMG:style_emoticons/default/smile.gif) wiesz może jak to zrobić? Bardzo mi to jest potrzebne do mojego CMS'a, którego właśnie projektuje, a nie zakończę go jeśli nie będę miał tego "systemu template'k", szukałem już w necie, ale żaden nie działał prawidłowo (IMG:style_emoticons/default/sad.gif)
Go to the top of the page
+Quote Post
redeemer
post
Post #13





Grupa: Zarejestrowani
Postów: 915
Pomógł: 210
Dołączył: 8.09.2009
Skąd: Tomaszów Lubelski/Wrocław

Ostrzeżenie: (0%)
-----


Bierzesz się za CMS nie znając podstaw. Skorzystaj z TWIG albo Smarty. Są to systemy szablonów, które działają i są "z internetu". Zresztą nawet nie wiem jak Ty to szukałeś http://bit.ly/VwFXWL
Go to the top of the page
+Quote Post
ZeTu
post
Post #14





Grupa: Zarejestrowani
Postów: 217
Pomógł: 8
Dołączył: 8.12.2010

Ostrzeżenie: (0%)
-----


Wiem, że istnieje Smarty, ale ja nie chcę tego używać. Chcę po prostu zrobić inaczej, nie tak jak wszyscy
Go to the top of the page
+Quote Post
redeemer
post
Post #15





Grupa: Zarejestrowani
Postów: 915
Pomógł: 210
Dołączył: 8.09.2009
Skąd: Tomaszów Lubelski/Wrocław

Ostrzeżenie: (0%)
-----


Pisałeś, że szukałeś w necie, ale żaden nie działał. Jak koniecznie chcesz zindywidualizować system szablonów w swoim CMS (co jest dużym błędem i nawet nie zdajesz sobie sprawy jakie problemy napotkasz po drodze) to możesz przecież możesz zobaczyć jak programiści z doświadczeniem to zrealizowali, bo przecież dostęp do kodu źródłowego jest.
Go to the top of the page
+Quote Post
Spawnm
post
Post #16





Grupa: Moderatorzy
Postów: 4 069
Pomógł: 497
Dołączył: 11.05.2007
Skąd: Warszawa




Cytat(Yorki @ 23.09.2012, 22:10:53 ) *
Funkcja include nie zwraca zawartości pliku

Zwraca jeśli plik ma return, kilka fw opiera na tym swoje konfiguracje (IMG:style_emoticons/default/wink.gif)

Go to the top of the page
+Quote Post
ZeTu
post
Post #17





Grupa: Zarejestrowani
Postów: 217
Pomógł: 8
Dołączył: 8.12.2010

Ostrzeżenie: (0%)
-----


To co zna ktoś odpowiedź na moje pytanie (problem)?
Go to the top of the page
+Quote Post
kyku
post
Post #18





Grupa: Zarejestrowani
Postów: 116
Pomógł: 8
Dołączył: 21.11.2008

Ostrzeżenie: (0%)
-----


eval
Go to the top of the page
+Quote Post
ZeTu
post
Post #19





Grupa: Zarejestrowani
Postów: 217
Pomógł: 8
Dołączył: 8.12.2010

Ostrzeżenie: (0%)
-----


Próbowałem w eval i też nie działa :/
Go to the top of the page
+Quote Post
kyku
post
Post #20





Grupa: Zarejestrowani
Postów: 116
Pomógł: 8
Dołączył: 21.11.2008

Ostrzeżenie: (0%)
-----


A jednak:
Najprostszy przykład:

index.php
  1. <?
  2. $plik2 = file_get_contents('plik2.php');
  3. $plik2 = str_replace('<-- aaaa -->', 'bbbb', $plik2);
  4. eval($plik2);
  5. ?>

plik2.php
  1. // nie zaczynaj pliku od <?php lub w index.php zamien eval($plik2) na eval('?>'.$plik2)
  2.  
  3. $zmienna = "test";
  4. echo $zmienna;
  5. ?> abc <-- aaaa --> bbbb


Ten post edytował kyku 24.09.2012, 13:38:09
Go to the top of the page
+Quote Post

2 Stron V   1 2 >
Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 20:25