Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]parsowanie php w echo, generowanie plików php
gawar
post 16.02.2015, 14:08:31
Post #1





Grupa: Zarejestrowani
Postów: 123
Pomógł: 0
Dołączył: 26.10.2010

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


Witam,
Mam napisany generator w php który tworzy mi pliki z rozszerzeniem php. Wszystko działa dobrze dopóki nie chce dopisać w nowo tworzonych plikach z rozszerzeniem php kodu php. Wtedy ten kod php parsuje mi się już na poziomie tworzenia tych plików, a nie tak jakbym chciał, czyli "włożenia" kodu php do nowo utworzonych plików. Jest jakiś sposób żeby to obejść? Czy są jakieś znaczniki, żeby ten kod przekleił się bez parsowania i był parsowany dopiero po uruchomieniu utworzonego pliku?
Go to the top of the page
+Quote Post
kao3991
post 16.02.2015, 15:26:07
Post #2





Grupa: Zarejestrowani
Postów: 6
Pomógł: 2
Dołączył: 13.02.2015

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


zgaduję że ładujesz te pliki przez include/require? spróbuj wczytać przez file_get_contents, wtedy kod się nie wykona.
Go to the top of the page
+Quote Post
Aqu
post 16.02.2015, 15:26:32
Post #3





Grupa: Zarejestrowani
Postów: 279
Pomógł: 58
Dołączył: 14.07.2012

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


Jeżeli ten kod trzymasz w cudzysłowie - "twój $zmienna kod", to zamień po prostu na 'twój $zmienna kod', albo dodaj slashe przed zmiennymi.
Go to the top of the page
+Quote Post
Pyton_000
post 16.02.2015, 15:37:46
Post #4





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


albo

  1. $zmienna = 'EOF'<<<
  2. kod echo $php
  3. EOF;
Go to the top of the page
+Quote Post
gawar
post 17.02.2015, 09:53:52
Post #5





Grupa: Zarejestrowani
Postów: 123
Pomógł: 0
Dołączył: 26.10.2010

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


Masowo generuje pliki za pomocą fopen, fwrite jako, że dane są co obrót pętli dodawane do utworzonego pliku.

Problem pojawia się gdy chce dodać ten kod w php
  1. <?php
  2. $znacznik_php='
  3. if (isset($_GET['id'])) {
  4.  
  5. $id = $_GET['id'];
  6.  
  7. echo "<br/>'.$id.'";
  8.  
  9. } else {
  10.  
  11. echo "brak id";
  12.  
  13. }
  14. ?>';
  15. fwrite($plik, $znacznik_php);

Wyrzuca syntax error w pierwszej linijce przy 'id' - próbowałem to zamieniać na cudzysłowy, czy też .' ale nic nie chce działać
==================

Ok poradziłem sobie. Pomogły \ przed apostrofem. dzięki za pomoc. Ale pojawił się kolejny problem jak dołączyć do tego jeszcze kod js i do niego przekazać zmieną z php?
  1. <?php
  2. $znacznik_php='
  3. if (isset($_GET[\'id\'])) {
  4.  
  5. $id_miejsce = $_GET[\'id\'];
  6.  
  7. echo "<br/>$id_miejsce";
  8.  
  9. } else {
  10.  
  11. echo "brak id";
  12.  
  13. }
  14. ?>
  15. <script type="text/javascript">
  16.  
  17. function pokazOkno()
  18. {
  19.  
  20. var zmien = document.getElementById(\'id<? echo $id ?>\').style.fill="green";
  21.  
  22. }
  23. window.onload = function()
  24. {
  25. pokazOkno();
  26. }
  27.  
  28. </script>';
  29. fwrite($plik, $znacznik_php);


Powyższe dwie funkcje js niestety nie działają.

Ten post edytował gawar 17.02.2015, 09:57:25
Go to the top of the page
+Quote Post
phpion
post 17.02.2015, 10:03:05
Post #6





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




Tak jak robiłeś w pierwszej wersji kilka linijek wyżej:
  1. var zmien = document.getElementById(\'id'.$id.'\').style.fill="green";
Go to the top of the page
+Quote Post
Pyton_000
post 17.02.2015, 10:03:41
Post #7





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


  1. $zmienna = <<<'EOL'
  2. if (isset($_GET['id'])) {
  3.  
  4. $id_miejsce = $_GET['id'];
  5.  
  6. echo "<br/>$id_miejsce";
  7.  
  8. } else {
  9.  
  10. echo "brak id";
  11.  
  12. }
  13. ?>
  14. <script type="text/javascript">
  15.  
  16. function pokazOkno()
  17. {
  18.  
  19. var zmien = document.getElementById('id<? echo $id ?>').style.fill="green";
  20.  
  21. }
  22. window.onload = function()
  23. {
  24. pokazOkno();
  25. }
  26.  
  27. </script>
  28. EOL;
Go to the top of the page
+Quote Post
gawar
post 17.02.2015, 10:50:36
Post #8





Grupa: Zarejestrowani
Postów: 123
Pomógł: 0
Dołączył: 26.10.2010

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


phpion tak nie działa:(


Pyton_000

  1. ('id<? echo $id ?>')
nie parsuje tego na poziomie wygenerowanych plików i w podglądzie kodu w przeglądarce wygląda to tak:

var zmien = document.getElementById('id<? echo $id ?>').style.fill="green";
Go to the top of the page
+Quote Post
Pyton_000
post 17.02.2015, 10:52:14
Post #9





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


To zdecyduj się w końcu co chcesz osiągnąć, czy parsować czy nie...

Wstaw sobie zmienne typu #ID# i rób str_replace
Go to the top of the page
+Quote Post
gawar
post 17.02.2015, 11:54:55
Post #10





Grupa: Zarejestrowani
Postów: 123
Pomógł: 0
Dołączył: 26.10.2010

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


Nie chce parsować w czasie generowania plików. A jak już pliki mam utworzone i je wywołuje podając ściezkę do nich to jak najbardziej chce parsować i w przypadku poniższego fragmentu kodu to działa
  1. if (isset($_GET['id'])) {
  2.  
  3. $id_miejsce = $_GET['id'];
  4.  
  5. echo "<br/>$id_miejsce";
  6.  
  7. } else {
  8.  
  9. echo "brak id";
  10.  
  11. }
  12. ?>


ale już w przypadku tego nie działa:(

  1. <script type="text/javascript">
  2.  
  3. function pokazOkno()
  4. {
  5.  
  6. var zmien = document.getElementById('id<? echo $id ?>').style.fill="green";
  7.  
  8. }
  9. window.onload = function()
  10. {
  11. pokazOkno();
  12. }
  13.  
  14. </script>
Go to the top of the page
+Quote Post
Pyton_000
post 17.02.2015, 12:13:52
Post #11





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


Czy Ty przypadkiem nie zapisujesz tego jako .js ? Bo jeżeli tak to niby czemu miałoby Ci to parsować?
Go to the top of the page
+Quote Post
gawar
post 17.02.2015, 12:15:22
Post #12





Grupa: Zarejestrowani
Postów: 123
Pomógł: 0
Dołączył: 26.10.2010

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


zapisuje to jako plik php
Go to the top of the page
+Quote Post
Pyton_000
post 17.02.2015, 12:33:13
Post #13





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


zamień <? na <?php
Go to the top of the page
+Quote Post
gawar
post 17.02.2015, 12:45:37
Post #14





Grupa: Zarejestrowani
Postów: 123
Pomógł: 0
Dołączył: 26.10.2010

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


dzięki, w tym był problem
Go to the top of the page
+Quote Post

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 Wersja Lo-Fi Aktualny czas: 15.07.2025 - 15:08