jag har följande ASP-script som jag nu vill ersätta med ett PHP-script.
---------------------------------------------------------------
*<%@ Language=VBScript %>
<%
On Error Resume Next
Dim fileName, fullPath
fileName=Request.Form("fileName")
fullPath=Server.MapPath(fileName)
Dim xmlDoc, xmlData
xmlData=Request.Form("xmlData")
set xmlDoc=CreateObject("Msxml2.DOMDocument")
xmlDoc.async=False
xmlDoc.LoadXML(xmlData)
xmlDoc.Save(fullPath)
dim taskStatus
if err then
taskStatus="taskStatus=Error saving XML document as " & fileName
else
taksStatus="taskStatus=Saved XML document as " & fileName
end if
Response.Write taskStatus
Nu har jag frågat om detta på hundratals forum...
Jag får det inte att fungera... Jag har kommit så långt att jag inser att man ska använda något liknande det jag har här över men i PHP. Men då kan det tydligen behövas någon extra XML class till PHP...
Altså det enkla jag försöker göra är bara att spara en XML-instans från en Flash till en fil... Möjligt man kan sända XML-instansen som ren text och sedan med PHP skapa en XML-fil?
Att skapa en XML-fil med PHP är inte så svårt. Kolla på exemplet nedan så skall du se:
// skapar ett nytt dokument
$doc = domxml_new_doc("1.0");
// skapar en kommentar
$tmp = $doc->create_comment("\nCreated with PHP 4.3.2\n");
// lägger till kommentaren till dokumentet
$comment = $doc->append_child($tmp);
// skapar root-noden
$root = $doc->new_child("root", "");
// skapar första barn-noden
$child= $root->new_child("child", "");
// lägger till ett attribut till barn-noden
$tmp = $child->set_attribute("id", "1001");
// skapar ett barn-nod till barn-noden
$newchild = $child->new_child("child1", "text1");
// sparar dokumentet som test.xml filen i samma mapp som php-skriptet ligger i
$tmp = $doc->dump_file("test.xml", false, true);
Ovanstående skript skapar en xml-fil som ser ut så här:
<?xml version="1.0"?>
<!--
Created with PHP 4.3.2
-->
<root>
<child id="1001">
<child1>text1</child1>
</child>
</root>
Tänkte fortsätta på denna,.
Kan verkligen inte PHP och letar därför efter den simplaste lösningen. Detta är mest påståenden här, rätta mig nu :e
1.) Behöver jag någon extra komponent till PHP (har svårt o fatta hur man installerar dem också). 2.) Jag har en XML i min flash som jag vill spara på servern (har en fråga/diskution om detta här). 2.1) Jag sänder xml;en FRÅN flash TILL php, vill ha respons tillbaka.
var login_str:String = "<myxml><news><item><title>Hello</title></item></news></myxml>";
var my_xml:XML = new XML(login_str);
my_xml.contentType = "text/xml";
var myLoginReply_xml:XML = new XML();
myLoginReply_xml.ignoreWhite = true;
myLoginReply_xml.onLoad = myOnLoad;
function myOnLoad(success:Boolean) {
if (success) {
if ((myLoginReply_xml.firstChild.nodeName == "packet") &&
(myLoginReply_xml.firstChild.attributes.success == "true")) {
gotoAndStop("loggedIn");
} else {
gotoAndStop("loginFailed");
}
} else {
gotoAndStop("connectionFailed");
}
}
my_xml.sendAndLoad("http://localhost/saveXML.php", myLoginReply_xml);
2.2) Serversidan ser ut såhär, får XML;en. Sparar den med utf-8 encode.
???
3. Extras. Önskvärda extrafunktioner som jag inte förstår hur man skall få med är. 3.1) Från flashen skickas värden med, detta kan t.ex. vara språk förkortningar som t.ex. en,sv,it. Detta är för att kunna lägga xml;en i en egen mapp. 3.2) När xml;en sparas så finns det troligtvis en annan fil redan där. Gå igenom den och ändra enbart på de XML;noder som är anorlunda mot de som redan finns.
262 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e