Php 在AS3 Flash中编辑和保存XML
从今天早上开始,我一直很难做到这一点,所以我最终决定寻求你的帮助。。 我尝试了很多解决方案,但没有一个像我想要的那样有效。我想在本地加载一个XML文件并对其进行编辑,然后将结果保存在同一个文件中。 加载/读取不是问题,它工作正常,但在as3中保存文件非常困难 注:我有一个本地服务员,所以这不是问题所在 以下是我迄今为止发现的解决问题的最佳方法: save.php:Php 在AS3 Flash中编辑和保存XML,php,xml,actionscript-3,flash,save,Php,Xml,Actionscript 3,Flash,Save,从今天早上开始,我一直很难做到这一点,所以我最终决定寻求你的帮助。。 我尝试了很多解决方案,但没有一个像我想要的那样有效。我想在本地加载一个XML文件并对其进行编辑,然后将结果保存在同一个文件中。 加载/读取不是问题,它工作正常,但在as3中保存文件非常困难 注:我有一个本地服务员,所以这不是问题所在 以下是我迄今为止发现的解决问题的最佳方法: save.php: <?php if (isset($GLOBALS["HTTP_RAW_POST_DATA"])){ $xml = $
<?php
if (isset($GLOBALS["HTTP_RAW_POST_DATA"])){
$xml = $GLOBALS["HTTP_RAW_POST_DATA"];
$file = fopen("http://localhost/cs_texte.xml","wt");
fwrite($file, $xml);
fclose($file);
}
?>
但是它不起作用,xml文件根本不会改变,即使我尝试清空它
知道为什么吗?您知道如何在flash输出控制台中获取php错误吗?如果有的话
谢谢你的帮助!请原谅,这不是我最初的项目。多亏我解决了这个问题,它只是一个绝对url的问题,而不是一个相对url的问题。。
因此,您需要从PHP文件中给出一个相对地址,如下所示:
<?php
if (isset($GLOBALS["HTTP_RAW_POST_DATA"])){
$xml = $GLOBALS["HTTP_RAW_POST_DATA"];
$file = fopen("cs_texte.xml","wt");
fwrite($file, $xml);
fclose($file);
}
?>
就是这样,但这让我很难受!
谢谢你帮我弄明白,希望能帮到别人 尝试回显php中的所有内容-结果会返回到加载程序中。在完整的处理程序中检查结果。您甚至可以将所有内容包装到try-catch中,并回显错误,这样您就可以在flash中看到它。另一个好方法是在浏览器中测试它,并检查http请求。我认为问题出在文件的路径上,因为我认为需要本地路径才能拥有写权限。不管怎样-回应一切,你会抓住它!祝你好运哦,还要确保添加错误处理程序以及IOError,以确保php执行的结果是什么如果您使用的是AIR,还可以使用FileStream保存它,而无需打开对话框
<?php
if (isset($GLOBALS["HTTP_RAW_POST_DATA"])){
$xml = $GLOBALS["HTTP_RAW_POST_DATA"];
$file = fopen("cs_texte.xml","wt");
fwrite($file, $xml);
fclose($file);
}
?>