Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] zapisywanie wyniku echo
narf
post 23.08.2007, 17:33:01
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 23.08.2007

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


Witam.

Mam tablice jednowymiarowa, ktorej elementami sa wywolania funkcji javascript "<script lan..." (m.in. obliczenia odleglosci z google maps).
Wywolujac elementy tablicy poprzez echo dostaje to, co chce czyli wyniki obliczen js.
Gdy chce zapisac tablice do pliku txt, to oczywiscie zapisuje mi formulki wywolan funkcji zamiast ich wynikow.
Jak zapisac do pliku wynik? czyli to, co otrzymuje po zastosowaniu echo.

Z gory dziekuje!
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
drPayton
post 25.08.2007, 16:49:13
Post #2





Grupa: Zarejestrowani
Postów: 890
Pomógł: 65
Dołączył: 13.11.2005
Skąd: Olsztyn

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


Ambitny problem, sporo godzin poświęciłem na rozwiązanie ale udało się.
Tu dałem przykład, na którego podstawie zbudujesz własne skrypty.
Możliwe, że dałoby się je uprościć, ale to już zadanie dla Ciebie, czy innych forumowiczów.

Żeby było łatwiej, oparłem skrypt na darmowym advAJAX
Potrzebne są 4 pliki:
advajax.js (skrypt biblioteki advAJAX), w moim przykładzie, oczywiście można zrobić po swojemu
test.php
fakeJS.php
saveResult.php

Listingi:
test.php

  1. <?php
  2. echo '<script type="text/javascript" src="advajax.js"></script>';
  3. echo '<script type="text/javascript" src="fakeJS.php"></script>';
  4. ?>


fakeJS.php

  1. <?
  2. Header("content-type: application/x-javascript");
  3.  
  4. echo '
  5. function liczCos(liczba)
  6. {
  7. return "wynik to: " + liczba*2 + "\n";
  8. }
  9. ';
  10. echo '
  11. function saveResult(testPseudoArray)
  12. {
  13. advAJAX.post({
  14. url: "saveResult.php",
  15. parameters: { testPseudoArray: testPseudoArray},
  16. onComplete : function(obj) {
  17. alert("Plik zapisany!");
  18. }
  19. });
  20. }
  21. ';
  22.  
  23. echo 'var test = "";';
  24.  
  25. for ($i=0; $i<10; $i++) {
  26. echo 'test += liczCos('.$i.');';
  27. }
  28.  
  29. echo 'saveResult(test)';
  30.  
  31. ?>


saveResult.php

  1. <?php
  2. file_put_contents("plik.txt", $_POST['testPseudoArray']);
  3. ?>


Odpalamy poprzez test.php

Cała "magia" polega na mało znanym: Header("content-type: application/x-javascript"); , który symuluje JS w skrypcie de facto PHP.
Można stosować tam swobodnie PHP, a JS wstawiamy przez echo, ale bez <script>, bez komentarzy CDATA etc

Korzystałem z Tutoriala na www.javascriptkit.com

Ten post edytował drPayton 25.08.2007, 16:54:50
Go to the top of the page
+Quote Post

Posty w temacie


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: 22.06.2025 - 22:38