PDA

Просмотр полной версии : ActionScript & XML & PHP


max-@
22.06.2005, 22:14
Кароче это избитая тема но у меня всеже вопрос

Почему у меня не получается подгрузить XML (динамический) файл

Делаю значит так:

пишу пхп скрипт который создает этот ХМЛ файл.........в header("Content-type: text/xml");

и создаю файл .htaccess c содержанием:
AddType application/x-httpd-php .php .xml

затем пытаюсь подгрузить XML файл load.xml который является php файлом.......но нетничего не получается............

В чем проблема подскажите пожалуйста!!!!

netstuff
23.06.2005, 11:25
во-первых, забей пока на пхп. научись грузить постейшую Xml-ку во флеш. во-вторых, выложи код, как ты грузишь Xml ;)

max-@
23.06.2005, 16:16
В том то и дело у меня уже есть опыт подгрузки xml во flash!!!
Код выложу .попозже его сечас нет(((

KUZEN
23.06.2005, 16:26
Ты лучше выложи xml , который у тебя генерит рнр

max-@
24.06.2005, 15:08
<?xml version="1.0" encoding="utf-8" ?>
<root>
<load>
<login>123</login>
<passwd>123</passwd>
<money>1000</money>
<raz>3</raz>
</load>
</root>

KUZEN
27.06.2005, 12:29
А у тя твой xml во флешку то грузится вообще ???

max-@
27.06.2005, 13:43
Да если он является статическим.......но когда его генерирует php он перестает грузится!

7thsky™
27.06.2005, 14:52
вот не может этого быть!!! если статический то грузиться если динамический то нет! даже хидеры менять не надо было.

из под флэша он тоже не грузиться если динамический? или только при тестировании в браузере? если в браузере то случайно не фаерфокс или мозила? если они..... :)

вообще лучше бы и код ПХП и Фла файл посмотреть дали бы. или примерчик маленький чтобы узреть сие чудо!

З.Ы. потом какой плеер, на каком домайне флэшка валяется на каком домайне xml генериться?

max-@
04.07.2005, 13:23
Нет тестил в Explorere & Opera

Вот код пхп

<?PHP //>
header("Content-type: text/xml");
echo "<?xml version=\"1.0\" encoding=\"utf-8\" ?>\n".
"<root>\n".
"<load>\n".
"\t<login>123</login>\n".
"\t<passwd>123</passwd>\n".
"\t<money>1000</money>\n".
"\t<raz>3</raz>\n".
"</load>\n".
"</root>";
?>



Flash исходник не могу пока предоставить((((

KidsKilla
04.07.2005, 13:51
ты уверен, что у тя пхп юникод делает? строка в хмл про utf-8 ещё ничего не значит

нужно конвертить насильно. не помню название ф-ции, нов пхп она стандартная.

Weax
04.07.2005, 14:16
.htaccess tut ne priciom.
esli u tebia php ne sozdajot otdelnyj .xml fail ,a piset kod u samogo sebia v tom ze .php, to smotri nize:

1. Zapusti etot php v browsere. Sdelaj view source. Esli vidno to cto nado (t.e. tvoj zelajemyj xml po strukture), to smotri punkt 2, esli net, to ishi oshybki v php estestvenno.
2. Zagruzi etot php vo flash kak vsegda liuboj drugoj staticeskij .xml i sdelaj trace. Vsio dolzno byt vidno. Esli ne vidno, znacit ne rabotajet zagruzka faila.

Esli u tebia php sozdajot otdelnyj fail .xml, kotoryj gruzitsia vo flash, vozmozno sledujushije:
1. xml na servere sozdajotsia pozze, cem flash ego uspevajet zagruzit.
2. xml fail sozdajotsia ne pravilno. Poetomu prosto prover, delajetsia li tvoj sml voobse.
3. Esli delajetsia, to flash ne mozet ego ne gruzit, opiat ze znacit prosto ne rabotajet obycnaja zagruzka xml v tvojom flashe.

Nasciot utf-8 - takaja funkcija jest v php:
decode i encode v utf-8.
utf8_decode rabotajet tolko esli string encoden v utf-8 i verojatno tolko esli eto sdelano s funkcijei utf8_encode, inace budet error, ili prosto ne budet rabotat php voobse. Poetomu nado ispolzovat eti funkcii ostorozno.
I voobshe po ideje u menia vsio rabotajet prekrasno i bez etix funkcij.

max-@
12.07.2005, 09:27
да возможно........но у меня же подгружается цифра и английский текст!!!

7thsky™
12.07.2005, 12:05
Дорогой max-@, если Вы хотите чтобы Вам тут помогли, лучше сделайте живой пример когда Ваш XML не грузится и выложите тут исходники.

Сейчас же это беспредметный разговор.

Speckle
12.07.2005, 14:09
а объясните плиз, почему переводить в юникод нужно при помощи функций utf8_encode, utf8_decode? а iconv не подходит?

K.A.T.A.F.A.L.K.E.R
12.07.2005, 16:07
Я делал так. Все офигезно работало. На будущее совет: чтоб не парил мозги пол часа (если, конечно, щас так не делаешь) грузи не там "xml.php", а "xml.php?"+Math.random() Кеширование флеша - весЧ страшная ;)

max-@
13.07.2005, 01:46
(XMLfile=new XML()).onLoad = function() {
root = this.childNodes[1].childNodes;
for (i=0; i<root.length; i++) {
if (root[i].nodeName == "load") {
/*_global.login = root[i].childNodes[1].firstChild.nodeValue;
_global.passwd = root[i].childNodes[3].firstChild.nodeValue;
_global.shans = root[i].childNodes[5].firstChild.nodeValue;
_global.raz = root[i].childNodes[7].firstChild.nodeValue;*/
_root.texRes+=(root[i].childNodes[1].firstChild.nodeValue);
trace((root[i].childNodes[1].firstChild.nodeValue));
}
trace((root[i].childNodes[1].firstChild.nodeValue));
}
};
XMLfile.load("load.xml");

7thsky™
13.07.2005, 02:37
а если попытаться протрейстить вообще загрузка удалась или нет?

XMLfile.onLoad = function (flag) {
if (flag) {
trace ('loaded');
your_parser ();
}
trace (this);
}

или через onData посмотреть что вообще получили с сервера?
xml.onData = function (a) {
trace (a);
}

7thsky™
13.07.2005, 02:41
потом я насколько понял у тебя только в мозиле проблема?

попробуй посмотреть сколько байт загрузилось.
у меня была подобная проблема, обрывалось как правило после первой порции получения данных с сервера. тогда решать надо в пхп. (если что стукнись в аську)