Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [XML][PHP][JavaScript]Jak zapisać string na komputerze klienta?
Forum PHP.pl > Forum > Przedszkole
Odoakr
Mam aplikacji dzięki, której można narysować linię na mapie. Chcę, aby użytkownik mógł ją zapisać w postaci pliku KML jednym kliknięciem.
Napisałem skrypt, który generuje plik KML i zapisuje go w zmiennej.
Jak zmusić przeglądarkę, żeby otworzyła okno zapisywania i zapisała zawartość zmiennej jako plik?questionmark.gif
skowron-line
Musisz wysłać odpowiedni nagłówek
header a jaki to już doczytasz
Odoakr
Juz wcześniej to widziałem:

header('Content-type: application/vnd.google-earth.kml+xml');
header('Content-Disposition: attachment; filename="TwojaWycieczka.kml"');

Ale nie znalazłem przykładu jak to zastosować. Po stronie PHP mam zmienną $KML, w której siedzi cały string.
Byłbym wdzięczny za jakiś przykład kodu który to zrobi... Dzięki
skowron-line
  1. header('Content-type: application/vnd.google-earth.kml+xml');
  2. header('Content-Disposition: attachment; filename="TwojaWycieczka.kml"');
  3.  
  4. file_put_contents('TwojaWycieczka.kml', $kml);
Odoakr
Ok. już prawie działa.
jak daje echo po wysłaniu do skryptu to wypisuje się cały KML tak jak powinien wyglądać.

natomiast jak podaje wszelkie nagłówki to ściągam plik KML o nazwie "TwojaWycieczka.kml", jednak w treści mam coą takiego:

  1. Warning: file_put_contents(TwojaWycieczka.kml): failed to open stream: Permission denied in /var/www/vhosts/domena.pl/httpdocs/downloadAsKml.php on line 10


Takiego pliku nie ma, bo o to chodzi, żeby go nie było:) jak to naprawić?
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.