Форум 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)

RetKiller 09.06.2009 12:50

iCanary, кодировка у вас utf-8?

iCanary 09.06.2009 13:11

где? эти строки кода - все, что есть в данном примере. Строчка "utf-8" там нигде не встречается, следовательно - нет. Кодировка идет по умолчанию. А как это повлияет на решение проблемы?

SunShadow 09.06.2009 14:11

По умолчанию флэш работает в UTF-8. Если вы ничего не меняли то по видимому и работаете в utf-8 во флэше. Соответственно желательно чтобы из пхп приходило в формате UTF-8. Что находится в нужной кодировке обычно в шапку пишут
Код AS3:

<?xml version="1.0" encoding="utf-8"?>

Помимо этого сам файл пхп должен быть сохранен в кодировке UTF-8 без BOM. Иначе пхп генерит xml где первым символом будет BOM, и на нем флэш будет затыкаться потому что не сможет его распознать. Во всяком случае у меня не распознавал.
Чтобы сохранить в нужной кодировке пользуюсь notepad ++

Alkaz 09.06.2009 14:21

Цитата:

Сообщение от simplenoize (Сообщение 826911)
Не ужеле не ясен вопрос, или у меня крыша съехала

скорее второе. человек же написал что не хочет сохранять xml, а чтобы он генерировался динамически. зачем ему здесь amf? вопрос был хоть и немного криво сформулирован, но в целом правильно и все кроме вас его поняли правильно

Цитата:

Сообщение от RetKiller (Сообщение 826948)
iCanary, кодировка у вас utf-8?

и на что это повлияет в данном случае?

Цитата:

Сообщение от iCanary (Сообщение 826950)
Строчка "utf-8" там нигде не встречается, следовательно - нет

не следовательно, без разницы что написано в xmlнике, главное в какой кодировке его отдает сервер.

попробуйте так:
PHP код:

<?php
header
('Content-Type: text/xml');
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>'
;
?>


iCanary 09.06.2009 14:37

теперь мой пхп файл содержит:
PHP код:

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

но ошибка все та же. Мне кажется, что Flash обмануть не удастся - он не воспринимает PHP, как XML.. непонятно только почему..

Но вот другой выход: можно использовать метод переменных, казалось бы:
Код AS3:

var url:String = "myphp.php";
var reqURL:URLRequest = new URLRequest(url);
var loader:URLLoader = new URLLoader(reqURL);
loader.addEventListener(Event.COMPLETE, handleComplete);
loader.dataFormat = URLLoaderDataFormat.VARIABLES;
 
function handleComplete( event:Event):void
{
        var loader:URLLoader = URLLoader(event.target);
 
        trace(loader.data["name1"]);
        trace(loader.data["score1"]);
 
}

в связке с:
PHP код:

<?php
$returnVars 
= array();
$returnVars['name1'] = "John Doe";
$returnVars['score1'] = "johndoe@hotmail.com";
$returnString http_build_query($returnVars);

//send variables back to Flash
echo $returnString;
?>

где я в виде переменных, теоретически, смогу делать ХМЛ-данные, но этот пример НЕ РАБОТАЕТ! ....

результат его работы таков:
undefined
undefined

что же делать??!!

Добавлено через 2 минуты
Цитата:

Сообщение от Alkaz (Сообщение 826965)
попробуйте так:
PHP код:

<?php
header
('Content-Type: text/xml');
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>'
;
?>


не работает ((

etc 09.06.2009 15:10

iCanary, вы просто в браузере вообще пробовали свой php открывать? Если нет, то зачем делать какие-то далеко идущие (и вовсе не в ту степь) выводы? Проверьте для начала корректность работы вашего скрипта.

iCanary 09.06.2009 16:08

да. я открывал его - работает. показывает содержимое XML. Т.е. только сами значения, без самой структуры. Даже в IE. Это нормально

Добавлено через 1 минуту
* это нормально?

iflamberg 09.06.2009 16:22

=)
если открыть файл *.php из файловой системы - вы получите просто текстовый файл. Чтобы php скрипт выполнился, нужно, чтобы он был выполнен веб-сервером. Т.е. открывать только как http://localhost/test.php , или в том же роде.

iCanary 09.06.2009 16:32

хм.. т.е. проблема в том, что я его открываю с относительным путем? ))

iflamberg 09.06.2009 16:33

ты не поверишь =)


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

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