Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Загрузка XML во флэш посредством PHP. Реально? (http://www.flasher.ru/forum/showthread.php?t=126058)

iCanary 09.06.2009 04:10

Загрузка XML во флэш посредством PHP. Реально?
 
Привет, такой вопрос.

Хотелось бы загрузить XML во флэш посредством PHP. Т.е. на самом деле я загружаю PHP, который внутри себя генерирует и выбрасывает XML данные. Это реально?

Gaen 09.06.2009 05:35

Реально. Только на самом деле вы загружаете не php, а xml, который генерируется в php :)

simplenoize 09.06.2009 05:37

Вот посмотрите нашел в сети http://www.amfphp.org или просто наберите в гугле amfphp он даст список тем по Вашему вопросу.
Туда же:
http://www.flasher.ru/forum/showthread.php?t=116943
Надеюсь помог, а если не помог так натолкнул на мысли.

iCanary 09.06.2009 08:32

2 GAIKER

)) вы как-то очень хитро перефразировали мой же вопрос. к чему это? Совет может дадите?

Почему я хочу это сделать? Потому что я не хочу создавать ХМЛ файл каждый раз при загрузке сайта, сохранять его на серваке и потом открывать во флэше. Хочется сразу открывать во флэеше ПХП-шку, а в ней будет ХМЛ генериться.

как такое замутить?

2 simplenoize

нет, это не оно.. ((

etc 09.06.2009 08:42

simplenoize, зачем советовать amfphp?

iCanary, echo '<xml><hello/></xml>';

simplenoize 09.06.2009 09:10

Думаю это не реально, во флэше обрабатывать php, так как php серверный язык, а flash player это приложение работающее на стороне пользователя, да и синтаксис разный, не зря же это два разных языка)).
Загрузить загрузите, а обработать не выйдет, либо самим писать обработчик синтаксиса php данных. Я думаю, что это не нужно, у as достаточно обширная возможность работы с xml.
В Вашем случае, так или иначе, все равно придется каждый раз генерировать xml, будь то на стороне клиента (as), либо на сервере (php). Так зачем в таком случае изобретать такие сложности?
Создайте темповый xml с помощью php и загрузите его в флэш, это две лишнии строчки в коде.
Может я чего-то , конечно, не понимаю, но помойму это элементарно.
2 __etc:
Думал это, то что хотел iCanary.

etc 09.06.2009 09:15

simplenoize, php будет обрабатываться на сервере, никаких сомнений в этом ни у кого, кроме как у вас, здесь не возникло.

simplenoize 09.06.2009 09:27

А Flash на сервере не будет обрабатываться, и поэтому PHP не будет обрабатываться во Флэше, как того хочет iCanary.
Не ужеле не ясен вопрос, или у меня крыша съехала,
Цитата:

Хочется сразу открывать во флэеше ПХП-шку, а в ней будет ХМЛ генериться.
Вот мой ответ: нет нельзя.
Потом он спрашивает:
Цитата:

Совет может дадите?
Это то, что я написал в пердидущем посте.
Если я не прав, то скажите почему?

Gaen 09.06.2009 09:49

Всё из-за путаницы в понятиях :)

Цитата:

Хотелось бы загрузить XML во флэш посредством PHP.
Хотелось бы чтобы php-скрипт на сервере генерировал xml, а флэш к этому скрипту обращался и собственно загружал xml, который он выдаёт.

Цитата:

Т.е. на самом деле я загружаю PHP, который внутри себя генерирует и выбрасывает XML данные.
Т.е. хоть флэш и обращается к скрипту, ему на самом деле пофигу, к чему обращаться, лишь бы оттуда приходил валидный xml.

Загружаете при помощи URLLoader'a, результат скармливаете конструктору XML и если всё ок, получаете флэшовый объект, с которым дальше можно работать.

iCanary 09.06.2009 12:25

ну вот я попробовал вот так:
Код AS3:

import flash.net.*;
 
 
// Prepare request
 
var request:URLRequest = new URLRequest("file.php");
var loader:URLLoader = new URLLoader();
 
loader.addEventListener(Event.COMPLETE, completeHandler);
loader.load(request);
 
function completeHandler(evt:Event):void
{
        var myXML:XML = new XML(evt.target.data);
        trace (myXML);
}

а вот пхп:
PHP код:

<?php
echo '<?xml version="1.0"?>
<PRODUCTS>
     <PRODUCT>
          <TITLE> Product #1 </TITLE>
          <PRICE> 10.00 </PRICE>
     </PRODUCT>
     <PRODUCT>
          <TITLE> Product #2 </TITLE>
          <PRICE> 20.00 </PRICE>
     </PRODUCT>
</PRODUCTS>'
;
?>

но выдает ошибку:

TypeError: Error #1088: The markup in the document following the root element must be well-formed.
at php_fla::MainTimeline/completeHandler()
at flash.events::EventDispatcher/dispatchEventFunction()
at flash.events::EventDispatcher/dispatchEvent()
at flash.net::URLLoader/onComplete()

так как быть?


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

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