Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Includowanie juz wykonanego skryptu, ob_start()?
bodzio16
post
Post #1





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 11.05.2015

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


Witam!

Mam wordpress, chcę wstawić jego nagłowek i stopkę do templatów innych skryptów, które używam. Najprościej byłoby skopiować kod html z wyniku, i wkleić, ale wtedy stracę dynamikę - modyfikowanie menu itp.

Wordpress daje możliwość wstawienia nagłówka i stopki poprzez kod:

  1. <?
  2. require('wp-load.php');
  3. include('wp-content/themes/theme/header.php');
  4. ?>



Niestety powstaje wtedy u mnie konflikt skyptów, nazw funkcji, i takie wstawienie nie działa. Do tego mam jeszcze powiązane bazodanowo phpBB z Wordpressem stąd szukam innego rozwiązania.

Wymyśliłem, że wykonam "na boku", w osobnym pliku (test.php) to powyższe, a potem wynik już jako czysty HTML+CSS, dodam do header templatki mojego skryptu (header.html) i będzie działało. Zrobiłem to tak:

test.php
  1. <?
  2. require('wp-load.php');
  3. include('wp-content/themes/theme/header.php');
  4. $header_output = ob_get_contents();
  5. ?>



Całość includuję tak do header.html (templatka z obługą php):

  1. <?
  2. include('test.php');
  3. echo($header_output);
  4. ?>



Niestety znowu powstaje konflikt, czyli nie includuję wyniku, tylko jednak skrypt.

Potem wpadłem na pomysł, że przecież konflikty biorą się z wp-load.php, zatem trzeba go includować do bufora, by nie trafił do header.html. Zrobiłem tak:

test.php
  1. <?
  2. require('wp-load.php');
  3. include('wp-content/themes/theme/header.php');
  4. $header_output = ob_get_contents();
  5. ?>


Niestety nic to nie zmieniło.

Przetestowałem sam plik test.php tak jak poniżej, i działa. Po includzie do header.html niestety nie błąd redeklarowanej funkcji.

test.php
  1. <?
  2. require_once('wp-load.php');
  3. include_once('wp-content/themes/theme/header.php');
  4. $header_output = ob_get_contents();
  5.  
  6. echo($header_output);
  7. ?>


Dla testu zapisałem zawartość (przez fwrite()) $header_output do pliku tekstowego - wygenerował się właśnie czysty html, bez zawartości plików php. Zatem wydaje się, że coś jednak jest nie tak z includami...
W teorii mógłbym teraz includować zawartość tego pliku textowego, ale uważam za niewydaje za każdym razem generowanie pliku textowego?

Czy ktoś może mi poradzić gdzie popełniam błąd, ewentualnie inne rozwiązanie? Co zrobić, by zawartość wp-load.php nie trafiała do templatki?
Go to the top of the page
+Quote Post

Posty w temacie
- bodzio16   Includowanie juz wykonanego skryptu   11.05.2015, 06:02:45
- - Ksar   include* i require* służą aby dołączyć kod do skry...   12.05.2015, 00:27:06
- - bodzio16   Nie rozumie, get_file_contents zapisuje przecież z...   12.05.2015, 06:43:55
- - Pyton_000   zawsze możesz dać [PHP] pobierz, plaintext $head...   12.05.2015, 07:27:56
- - IProSoft   Utwórz sobie plik, np: header-custom.php i wklej d...   12.05.2015, 07:55:48
- - bodzio16   Niestety tak nie działa. Zamiast tego wstawia mi p...   12.05.2015, 11:37:49
- - Pyton_000   Pokaż kod bo mi się wierzyć nie chce   12.05.2015, 12:11:29
- - lukasz1985   Lepiej rozwiąż konflikty nazw. Nie ma nic gorszego...   12.05.2015, 12:36:32
- - Pyton_000   CytatNie ma nic gorszego niż takie głupie triki Są...   12.05.2015, 14:01:08
- - bodzio16   zawartosc test.php <? require_once('wp-loa...   12.05.2015, 17:51:16
- - Wazniak96   Masz podać pełen link z przeglądarki a nie ścieżka...   12.05.2015, 18:19:26
- - bodzio16   bez zmian, czy mam [PHP] pobierz, plaintext <?...   12.05.2015, 18:38:21
- - IProSoft   Otwiersz short tagiem w pliku test.php, [PHP] pob...   12.05.2015, 20:00:56
- - bodzio16   bez zmian, znowu treść test.php w header.html zami...   12.05.2015, 20:11:44
- - IProSoft   A gdy odpalasz w przeglądarce plik http://www.dome...   12.05.2015, 20:54:05
- - bodzio16   pojawia się, jak już pisałem, poprawnie, czyli to,...   12.05.2015, 21:03:08
- - salfunglandyare   A co pokazuje: [PHP] pobierz, plaintext echo file_...   12.05.2015, 21:08:23
- - bodzio16   W treści: [PHP] pobierz, plaintext <?phprequir...   13.05.2015, 04:05:51
- - IProSoft   Kod w taki sposób pojawi się w wypadku użycia odwo...   13.05.2015, 07:52:00
- - bodzio16   I tu ciekawostka: Forbidden 403, czyli coś po drod...   13.05.2015, 17:36:54
- - Pyton_000   Podaj adresy bo tak to będziemy się bawić do końca...   14.05.2015, 07:31:25
- - bodzio16   Wynik oparty na header.html http://www.bonjovi.pl/...   14.05.2015, 16:05:55
- - IProSoft   Odpaliłem: [PHP] pobierz, plaintext file_get_con...   14.05.2015, 17:02:31
- - bodzio16   Teraz też tak zrobiłem: http://www.bonjovi.pl/gale...   14.05.2015, 17:31:02
- - IProSoft   Pokaż plik galeria/includes/template.php, linie od...   14.05.2015, 18:54:10
- - bodzio16   też patrzyłem, tam jest eval(). Pociągnałem więcej...   14.05.2015, 19:51:59
- - salfunglandyare   Namieszane... ale jak bym miał strzelać, to: ln 2 ...   14.05.2015, 22:57:36
- - bodzio16   Napisałem, że EXEC_PHP_CODE jest zdefiniowane na 1...   15.05.2015, 08:30:36
- - IProSoft   Wstaw przed linią: [PHP] pobierz, plaintext eval...   15.05.2015, 09:14:34
- - bodzio16   wszystko widać tutaj: http://www.bonjovi.pl/galeri...   15.05.2015, 16:55:09


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

 



RSS Aktualny czas: 19.08.2025 - 04:01