![]() |
|
||||||||||
|
|||||
|
Регистрация: Jan 2008
Сообщений: 15
|
Видел много примеров загрузки и использования XML. Но не видел ни одного примера создания XML документа.
Да, я понимаю как его создать, но как его потом загрузить на сайт? Только средствами PHP или есть возможность средствами flash? Документ надо закинуть в ту же директорию где находится swf файл. |
|
|||||
|
Контрибьютор базы знаний по Флекс
Регистрация: Aug 2005
Сообщений: 690
|
Только средствами PHP
__________________
Flex 2 и Co |
|
|||||
|
стервочка (я мужик)
|
эх ... дайте мне возможно средствами флэша заливать файлы на удалённый компьютер, и я завтра завоюю мир.
|
|
|||||
|
Регистрация: Jan 2008
Сообщений: 15
|
Цитата:
А если я swf файл локально буду запускать (не через веб браузер). Можно ли локально xml сохранить? |
|
|||||
|
стервочка (я мужик)
|
эх ... дайте мне возможность возможность сохранять файлы локально и завтра я сделаю вам тоже самое через интернет
![]() |
|
|||||
|
Вам поможет AIR или PHP. Смотря что нужно сделать.
|
|
|||||
|
Помогите разобраться где я допустил ошибку
Из книги "ActionScript 3.0 сборник рецептов" (вроде уже сверял не раз на ошибку/опечатку) делается флэшка в ней в поле вводится имя и нажимается кнопка послать данные передаются в пхп а из -пхп в текстовый документ который должен сам создаться , но у меня не работает че-то Код swf : package {
import flash.display.*;
import flash.text.*;
import flash.filters.*;
import flash.events.*;
import flash.net.*;
public class xmlsend extends Sprite {
private var _message:TextField;
private var _username:TextField;
private var _save:SimpleButton;
public function xmlsend(){
initializeDisplay();
}
private function initializeDisplay():void {
_message =new TextField();
_message.autoSize=TextFieldAutoSize.LEFT;
_message.x=10;
_message.y=10;
_message.text="Enter message";
_username=new TextField();
_username.width=100;
_username.x=10;
_username.height=18;
_username.y=30;
_username.type=TextFieldType.INPUT;
_username.border=true;
_username.background=true;
_save =new SimpleButton();
_save.upState = createSaveButtonState(0xFFCC33);
_save.overState=createSaveButtonState(0xFFFFFF);
_save.downState=createSaveButtonState(0xCCCCCC);
_save.hitTestState=_save.upState;
_save.x=10;
_save.y=50;
_save.addEventListener(MouseEvent.CLICK,hendleSave);
addChild(_message);
addChild(_username);
addChild(_save);
}
private function createSaveButtonState(color:uint):Sprite {
var state:Sprite=new Sprite();
var label:TextField=new TextField();
label.text="Save";
label.x=2;
label.height=18;
label.width=30;
var background:Shape=new Shape();
background.graphics.beginFill(color);
background.graphics.lineStyle(1,0x000000);
background.graphics.drawRoundRect(0,0,32,18,9);
background.filters=[new DropShadowFilter(1)];
state.addChild(background);
state.addChild(label);
return state;
}
private function hendleSave(event:MouseEvent):void {
var score:int=Math.floor(Math.random()*10);
var dataToSave:XML=<gamescore>
<username>{_username.text}</username>
<score>{score}</score>
</gamescore>;
var request:URLRequest=new URLRequest("gamescores.php");
request.data=dataToSave;
request.contentType="text/xml";
request.method=URLRequestMethod.POST;
var loader:URLLoader=new URLLoader();
loader.addEventListener(Event.COMPLETE,hendleResponse);
loader.load(request);
}
private function hendleResponse(event:Event):void {
try {
var success:XML=new XML(event.target.data);
if (success.toString()=="1") {
_message.text="Сохранено успешно";
} else {
_message.text="В процессе сохр. возникла ошибка";
}
} catch (e:TypeError) {
_message.text="не удалось разобрать хмл-ответ сервера";
}
}
}
}
А вот код gamescores.php : <?php
//читаем XML из RAW POST DATA
$xml =$GLOBALS['HTTP_RAW_POST_DATA'];
//обрабатываем ХМЛ, используя расширение DOM PHP
$document =xmldoc($xml);
//читаем корневой элемент <gameinfo>
$rootElement=$document->root( );
//читаем дочерние узлы <username> и <score>
$childNodes=$rootElement->children( );
$data= "";
//перебираем дочерние узлы и помещаем их в массив
foreach($childNodes as $childNode) {
//добавляем данные в массив
$name=$childNode->tagName( );
$value=$childNode->get_content( );
$data[$name]=$value;
}
//добавляем данные в score.txt (формат : username|score)
$fp = fopen("scores.txt","a+");
$dataString=$data['username']. "|" . $data['score']. "\n";
fputs($fp,$dataString,strlen($dataString));
fclose($fp);
//возвращаем код успешности операции во flash
echo "<success>1</success>";
?>
swf я вставляю в хтмл или в пхп index кидаю все это на сервер запускаю в браузере и не работает ![]() Маленькая просьба. если найдёте объясните как начинающему ![]() Последний раз редактировалось Reflection; 07.02.2008 в 13:24. |
|
|||||
|
Регистрация: Jan 2008
Сообщений: 15
|
Цитата:
$fp = fopen("scores.txt","a+"); здесь txt поменять на xml А код гляну через пару деньков. |
![]() |
![]() |
Часовой пояс GMT +4, время: 22:08. |
|
|
« Предыдущая тема | Следующая тема » |
|
|