ugrás a tartalomhoz

XML lementése a kliens gépére

hirlapom · 2006. Aug. 31. (Cs), 23.07
Üdv.

Következő dolgot szeretném:
Flash-ben legenerálok egy XML-t és szeretném azt lementeni az ügyfél gépére.
Hogyan kell ezt legegyszerübben elvégezni?
 
1

egy lehetőség

krey · 2006. Szep. 1. (P), 00.22
Nekiültem, ozt megcsináltam neked. Sajnos ha nagyon hosszú az xml meg kell rúgdosni egy csöppet a php.ini-t, nálam az alap max. 8MB volt. Az XML-t így küldjük a php-nak:

//Legyen myXML az xml-ed neve
var myXML:string = "<xml><a><b><c><d/></c></b></a></xml>"
getURL("http://nemtommi.org/xml-trick.php", "_this", "post"); 
Vigyázni kell, mert a drága minden változót el fog küldeni, ami lokálisnak minősül onnan, ahonnan meghívod a getURL-t.

A nemtommi.org/xml-trick.php-ba pedig ezt kell tenned:

<?php
if (isset($_POST["myXML"])) {
	header("Content-type: text/xml");
	header('Content-Lenght: '.strlen($_POST["myXML"]));
	header('Content-Disposition:attachment;filename="ezt_mentsd_el.xml"');
	echo $_POST["myXML"];
} else
	// ez akkor fut le, ha nem a flash indítja el a script-et***
?>
Ezek után elvileg szépen fel fogja kínálni az XML-t letöltésre.

Amúgy kipróbáltam és működik, tesztelt kód;) Remélem segít valamit a fáradozásom...

üdv. krey
2

majdnem

hirlapom · 2006. Szep. 1. (P), 20.17
Ír egy hibaüzenetet.
Lehet azért van baja, mert toString()-elem az xml-t?

Warning: Cannot modify header information - headers already sent by (output started at /var/www/www.hirlapom.hu/xml.php:1) in /var/www/www.hirlapom.hu/xml.php on line 3
3

Nem

krey · 2006. Szep. 1. (P), 20.24
Ha azért lenne baja, akkor valszeg a flash jelezne és nem a php...

Tedd azt az xml.php-ba amit leírtam és akkor jó lesz. Amúgymeg olvass utána, nagyon gyakori kérdés: "Warning: Cannot modify header information"

üdv. krey

ps. felmentem az oldalra, és megnéztem mi a gáz, szedd ki a BOM-ot
4

space

hirlapom · 2006. Szep. 1. (P), 20.39
Durva lehet a végén volt egy space, de bevallom nemtudom,h furdulhatott elő, talán a copynál.

Viszont plusz két sor jól jött bele
if (get_magic_quotes_gpc()) {
$content = stripslashes($content);
}

Nagyon köszönöm a segítséget!
5

IE, https, Pragma fejléc

Hodicska Gergely · 2006. Szep. 4. (H), 12.09
Szia!


Annyival egészíteném ki a fenti scriptet, hogy érdemes a következő parancsot is kiadni: header("Pragma: ");, különben nem fog működni IE és https viszonylatában.


Felhő