Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Include pliku z zamianą wartości tego pliku
Forum PHP.pl > Forum > PHP
Subsequently
Witam wszystkich!
Mam pewien problem z includ'owaniem pliku z zamianą {kluczy} w tym pliku (index.html), na wartosci tablicy $element;
  1. //Plik interfejs.php
  2. class Interfejs extends Rdzen {
  3.  
  4. public $obecny_styl;
  5. public $styl = array();
  6. public $element;
  7.  
  8. function Interfejs( ){
  9. $this->obecny_styl = "squeaky";
  10. $this->styl['sciezka'] = $this->ustawienia['sqk_sciezka'] . "style/" . $this->obecny_styl . "/szablony/";
  11. }
  12.  
  13. function ustaw_plik( $plik ){
  14. $this->styl['plik'] = $this->styl['sciezka'] . $plik;
  15. $elements = preg_match_all('/{(.*?)}/', $this->styl['plik'], $element);
  16. $elKeys = array_keys($element);
  17. foreach($elKeys as $k) {
  18. $this->element[$element[$k][0]] = '';
  19. }
  20. $this->zamien_wartosci();
  21. include $this->styl['plik'];
  22. }
  23.  
  24. public function ustaw_elementy( $tablica ){
  25. if ( is_array( $tablica ) ){
  26. foreach ($tablica as $k => $w){
  27. $this->element[ $k ] = $w;
  28. }
  29. }
  30. }
  31.  
  32. public function zamien_wartosci(){
  33. $keys = array_keys($this->element);
  34. foreach ($keys as $k) {
  35. $this->styl['plik'] = str_replace("{".$k."}", $this->element[$k], $this->styl['plik']);
  36. }
  37. }
  38.  
  39. //tutaj klasa Interfejs się kończy
  40. }

  1. //Plik index.php
  2. require_once "rdzen.php";
  3. if ( $rdzen->aktywny() ){
  4. $int->ustaw_elementy( array(
  5. 'php' => 'Jakaś treść',
  6. ) );
  7. $int->ustaw_plik('index_cialo.html');
  8. }
  9. else {
  10. //Gdy user nie zalogowany
  11. }

  1. <!-- Plik index.html -->
  2. ...
  3. <div id="jakisdiv">
  4. <p>{php}</p>
  5. </div>
  6. ...


Tak jak teraz jest ten kod, to plik poprawnie się includuje, ścieżki są poprawne ale nie zamienia mi {php} na 'Jakaś treść'.
Cysiaczek
To nie ma nic wspólnego z OOP - na drugi raz zastanów się 2x, gdzie rozpoczynasz wątek. ->PHP
bim2
  1. #
  2. $elements = preg_match_all('/{(.*?)}/', $this->styl['plik'], $element);

preg_match_all() nie przyjmuje jako drugi argument ścieżki do pliku smile.gif Musisz ten plik wczytać, podmienić wartości, zapisać gdzieś do cache i dopiero includować.
Subsequently
Cysiaczek, Sorki, nie pomyślałem sad.gif
bim2, Dzięki, już sobie z tym poradziłem winksmiley.jpg
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.