Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][XML] Przesyłanie danych z php
Forum PHP.pl > Forum > Przedszkole
Roguś
Mam sobie gotowego playera we flashu i używa on pliku xml w którym znajdują się sztywno wpisane ścieżki do muzyki. Ja potrzebuje przesyłać tam dane z pliku php. Może mi ktoś powiedzieć jak ? Nigdy nie miałem z tym do czynienia.
sniezny_wilk
Cytat(Roguś @ 23.06.2008, 11:52:07 ) *
Mam sobie gotowego playera we flashu i używa on pliku xml w którym znajdują się sztywno wpisane ścieżki do muzyki. Ja potrzebuje przesyłać tam dane z pliku php. Może mi ktoś powiedzieć jak ? Nigdy nie miałem z tym do czynienia.


Dane z pliku, ale gdzie ? do flasha ? Wygenerować dynamicznego xml'a czy jak ?
Roguś
Zabardzo sam niewiem jak to ma wyglądać. Po prostu plik php generuje mi ścieżkę do pliku muzyki i muszę go jakoś przesłać do pliku xml skąd pobierana jest ścieżka do flasha smile.gif
batman
Plik xml jest plikiem jak każdy inny. Przy użyciu funkcji file_put_contents lub fwrite zapisujesz do tego pliku dane, np <sciezka>/sciezka/do/pliku</sciezka> i masz gotowego xml-a.

W dokumentacji znajdziesz dokładny opis jak działają te funkcje. Zakładam, że wiesz jak wygląda plik xml. Jeśli nie, to odsyłam tutaj.
sniezny_wilk
no to daj zamiast do xml, podaj adres do PHP w PHP wygeneruj sobie linki, w strukturze xml'a normalnie przez echo, pamiętaj o odpowiednich headerach na samym początku pliku:

np.

  1. <?php
  2. header('Content-Type: text/xml');
  3. echo '<?xml version="1.0" encoding="utf-8" ?>\n';
  4.  // i lecisz dalej :)
  5. ?>


EDIT:
Cytat(batman @ 23.06.2008, 13:11:23 ) *
Plik xml jest plikiem jak każdy inny. Przy użyciu funkcji file_put_contents lub fwrite zapisujesz do tego pliku dane, np <sciezka>/sciezka/do/pliku</sciezka> i masz gotowego xml-a.

W dokumentacji znajdziesz dokładny opis jak działają te funkcje. Zakładam, że wiesz jak wygląda plik xml. Jeśli nie, to odsyłam tutaj.


Jeśli ścieżki będą się zmieniały rzadko to można zapisywać do pliku. Jednak ja tworzyłbym je dynamicznie za każdym razem.
webdice
Ja proponuje poczytać o DOM" title="Zobacz w manualu PHP" target="_manual.
Roguś
Zrobilem tak : Zmieniłem w pliku flasha że ma pobierać dane z pliku php. Owieram plik php, dopisuje zmienne w adresie url, plik pobiera GETem , pobiera z bazy ścieżkę do muzy i jest git. Tylko że jak już wrzuciłem Playera na stronę to rzecz jasna nie pobierał zmiennych bo nie miał z czego. Jak includowałem cały plik (ten odpowiedzialny za listę muzyki) na stronę to wyrzuca mi błąd "Bląd parsowania XML: niepasujący znacznik. Oczeniwano </meta>. Usunąłem wszystkie meta tagi na próbe to sie czepia innych rzeczy jak "niezrozumiala seria znaków..."
Ociu
XMl, AJAX -> Przedszkole.
batman
@Roguś
Masz dwa wyjścia:
1. We flashu podajesz ścieżkę do pliku php, w którym wystawiasz odpowiednie nagłówki (jest o tym kilka postów wyżej) oraz generujesz treść w postaci xml-a. Albo przy użyciu DOM (było wyżej) lub tak jak ja Ci napisałem (zwykły tekst). W ten sposób zawsze będziesz miał świeże dane w dynamicznie wygenerowanym pliku xml.

2. We flashu dajesz link do pliku xml, który generowany jest przez skrypt php, który działa tak samo jak to co w punkcie 1, z tym że nie wystawiasz nagłówków i nie wyświetlasz pliku, a zapisujesz go do pliku.

Jeśli pojawiają Ci się błędy parsowania, to zobacz źródło strony i tam znajdziesz przyczynę. Domyślam się, że generowanie pliku xml wrzuciłeś do strony html i znaczniki Ci się pomieszały lub oprócz xml-a wywalasz na wyjście coś jeszcze.
Roguś
Teraz zmienilem sztywny tytuł, sciezke do muzyki i wykonawce na zmienne php. Dziala (w playerze pokazuje mi zamiast wykonawcy "$wykonawca" czyli ok bo plik nie byl wykonywany na serwerze tylko narazie na pc.) Wiec wrzucam kod na strone na mój serwer i juz nie chodzi. Pisze mi undefinited. Byćmoże podałem zły plik z którego ma wyciagać dane. Strona opiera się na indexie i wyciaga dane z index.php: www.domena.pl/index.php?page=player$song=costam.
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.