Так что это, вероятно, простой вопрос, но по какой-то причине у меня проблемы с этим. Я понятия не имею, почему, но я подозреваю, что отправка xml с полными тегами «что-то» может привести к неправильному поведению php.
Так что все, что мне нужно, это отправить (от клиента swf as3) имя файла и xml. PHP напишет файл XML с требуемым именем файла.
Все должно быть в порядке со стороной php, потому что я пробовал использовать переменные "$ _GET", но всякий раз, когда я пытаюсь использовать флэш-клиент, это просто делает работу, и журнал php говорит, что "переменная имени файла не может быть пустым ". Всякий раз, когда я пытаюсь использовать статическое имя файла (не используя GET или POST), оно работает.
Ооо ... Может кто-нибудь помочь мне с этим?
Спасибо.
РЕДАКТИРОВАТЬ: Код добавлен.
var xmlURLReq:URLRequest = new URLRequest("www.url.com");
var test:URLVariables = new URLVariables;
test.filename = "01.xml";
test.xmldata = xmltosave;
xmlURLReq.data = teste;
xmlURLReq.contentType = "text/xml";
xmlURLReq.method = URLRequestMethod.POST;
var xmlSendLoad:URLLoader = new URLLoader();
xmlSendLoad.addEventListener(Event.COMPLETE, onComplete, false, 0, true);
xmlSendLoad.addEventListener(IOErrorEvent.IO_ERROR, onIOError, false, 0, true);
xmlSendLoad.load(xmlURLReq);
var alertBox:alertBoxClass = new alertBoxClass();
alertBox.x = 0;
alertBox.y = 200;
function onComplete(evt:Event):void
{
try
{
var xmlResponse = new XML(evt.target.data);
alertBox.alertText.text = "Inserção de dados bem sucedida!";
addChild(alertBox);
removeEventListener(Event.COMPLETE, onComplete);
removeEventListener(IOErrorEvent.IO_ERROR, onIOError);
writeXML()
}
}
Я также попробовал классы Object и LoadVars вместо URLVariables, пока что не повезло.
РЕДАКТИРОВАТЬ: Можно также добавить код php.
<?php
$filename = "http://url.com/".$_POST["filename"];
$xml = $_POST["xmldata"];
$file = fopen($filename , "wb");
fwrite($file, $xml);
fclose($file);
?>