Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Сохранение XML (http://www.flasher.ru/forum/showthread.php?t=115214)

swat05 22.08.2008 14:51

Сохранение XML
 
Мне надо сохранить обьект типа XML на жесткий диск, но не через оболочку - тоесть чтобы потом его можно было опубликовать на сайте. Знаю что функция SaveAndLoad сохраняет, но как я понял в браузер, т.е. надо публиковать в хтмл, но вот как сохранить этот хмл в папку на сервере, допустим "xml/data.xml"? Или для этого нужно знать ещё и php?

Alkaz 22.08.2008 14:59

это вы где saveAndLoad нашли? знаю только sendAndLoad, передает ваш xml скрипту и грузит ответ, с помощью нее (или проще send) и скрипта (например php) можете сохранять на сервер

MrPoma 22.08.2008 15:15

SharedObject

swat05 22.08.2008 15:32

Alkaz, вы правы sendAndLoad, опечатка. Можно линк на пример, а то я впервые этим занимаюсь. Тут на форуме когда-то такое видел, давно, но теперь даже поиском найти не могу(( Буду очень благодарен.

MrPoma 22.08.2008 16:31

Код:

var login_str:String = "<login username=\""+username_txt.text+"\" password=\""+password_txt.text+"\" />";
var my_xml:XML = new XML(login_str);
var myLoginReply_xml:XML = new XML();
myLoginReply_xml.ignoreWhite = true;
myLoginReply_xml.onLoad = myOnLoad;
my_xml.sendAndLoad("http://www.flash-mx.com/mm/login_xml.cfm", myLoginReply_xml);
function myOnLoad(success:Boolean) {
    if (success) {
        if ((myLoginReply_xml.firstChild.nodeName == "packet") &&
            (myLoginReply_xml.firstChild.attributes.success == "true")) {
            gotoAndStop("loggedIn");
        } else {
            gotoAndStop("loginFailed");
        }
    } else {
        gotoAndStop("connectionFailed");
    }
}


swat05 23.08.2008 11:22

Пример из хелпа я тоже видел. Я во флеше уже немного понимаю, а меня интересует как должен выглядеть php файл, который не проверяет пароль, а сохраняеет данные переданные флешем на сервер.

Obi 23.08.2008 14:14

Ну вот как-то так:
Код:

var myXML:XML = "<root><test>someText</test></root>";
var way:String = "http://somePath/serv.php";
var send:LoadVars = new LoadVars();
var load:LoadVars = new LoadVars();

send.myDataSend = myXML;
send.sendAndLoad(way, load);
load.onLoad = function(){
  trace(load.serverResponse);
}

serv.php :
Код:

<?
if(isset($_POST["myDataSend"]))
{
        $str=$_POST["myDataSend"];
        $p=fopen("myXml.xml","w");
        $s= $str;
        echo "serverResponse=$str";
        fputs($p,$s);
        fclose($p);
}
?>

Хотя, возможно, этот вариант слегка быдлокодерский с точки зрения пхп.
P.S.: Писал на «коленке», но работать должно.

swat05 23.08.2008 14:45

возвращает undefined((( Как тут можно что-то сделать?

Obi 23.08.2008 15:02

Цитата:

Сообщение от swat05 (Сообщение 759868)
возвращает undefined((( Как тут можно что-то сделать?

Блин, дико извиняюсь, ошибка в строке
Код:

$str=$_POST["send1"];
Предыдущий пост исправил.

swat05 24.08.2008 01:21

Спасибо, что помогаете, но тут опять возникает проблема. Я закинул пхп на свой сайт и переделал свф под ХМЛ, а не на loadVars, но почему то трейсит что-то совсем не то
Код:

<SCRIPT language="JavaScript">var lgn=&apos;flashki&apos;</SCRIPT>
вот код свф -
Код:

var login_str:String = "<root><test>someText</test></root>";
var myXML:XML = new XML(login_str);
var myDataSend:XML = new XML();
myDataSend.ignoreWhite = true;
myDataSend.onLoad = myOnLoad;
myXML.sendAndLoad("http://flashki.ho.ua/serv.php", myDataSend);
function myOnLoad(success:Boolean) {
    if (success) {
        trace(myDataSend.firstChild);
    }
}

З.Ы. Хостинг поддерживает ПХП.
З.Ы.Ы. Упс. Помойму мой хостинг ХМЛ не читает((( Значит выход - делать из своего компа сервер? или мот кто бесплатный хост порекомендует с хмл и пхп?


Часовой пояс GMT +4, время: 22:28.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.