flash as php 源码,[原]as3 flash web 应用 (7)flash与php的交互(B)

博客讲述了如何使用Flash生成XML并发送到PHP,以及PHP如何利用SimpleXML扩展解析接收到的XML数据。作者提到了PHP中DOM、SAX和SimpleXML三种XML解析方法,并详细介绍了使用SimpleXML的步骤,包括读取XML节点、属性值以及进行XPath查询。此外,还给出了AS3发送XML到PHP的代码示例。
摘要由CSDN通过智能技术生成

2010年06月21日 星期一 02:23

由于某度众所周知的铜臭举动,让我搬离写了5年的渣度空间,准备把技术性的文章定在CSDN了。这些都是文章备份。勿怪。。

鉴于最近有些抓取机器和抄袭者,把标题的【原】字都复制,我不得不声明:本文为yukon12345原创,转载请注明出处http://blog.csdn.net/yukon12345

5.使用xml格式互相通讯flash自身也可以生成xml然后发送。注意的是并不是生成一个xml对象来发送,而是生成xml格式的文本发送给PHP

PHP通过xml处理扩展来解析xml。常见的PHP xml扩展解析主要有3大类:DOM,SAX,SimpleXML。

对于三中解析方法的特点,这里有详细的说明 http://stvsui.blog.163.com/blog/static/16015468520103452224868/

在这里用PHP5的SimpleXML扩展来解析flash传入的xml.

PHP5的SimpleXML非常容易上手,基本和as3的解析类似。

以xml文件

这里是文本内容

为例

$xmlsimplexml_load_file("路径")

可以读取xml文件

$xml=simplexml_load_string($变量名)

可以读取存在变量中的文本类型xml。

$xml->image

可以读取image节点数组。和as3一样,同样也忽略根节点

$xml->image[0]

可以获取数组第一个节点。以此类推.可以用foreach或者for循环等来遍历数组。

$xml->imgae[0]['path']

用来读取image的path属性值

$xml->imgae[0]['path']='新路径'

可用来修改值

xpath查询:

$xml->xpath('//image')

用来查寻任何深度的image节点包含的文本内容。比如这里是文本内容

$xml->xpath('/root/image')

用来查寻此深度下的所有image节点包含的内容

PHP就不说这么多了

下面就是as3和PHP5使用xml格式消息互相通讯:

as3

var loader=new URLLoader()

//设置装载器的格式为TEXT

loader.dataFormat=URLLoaderDataFormat.TEXT

var urlR=new URLRequest()

urlR.method=URLRequestMethod.POST

urlR.url="http://127.0.0.1/upload/8PHP/repeat5.PHP"

var variable=new URLVariables()

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

//注意这里用单引号来标示xml属性值而非双引号。默认simplexml解析的xml需要用单引号。刚开始我测试了半天。

xml+=" "

variable.flashXML=xml //以文本方式发送

urlR.data=variable

var txt=new TextField()

txt.width=300

txt.x=20

txt.y=30

addChild(txt)

loader.addEventListener(Event.COMPLETE,function(){

var PHPxml=new XML(loader.data)

//选择呈现xml数据

trace(loader.data)

txt.text=PHPxml.image[0].@path+PHPxml.image[0].@name

})

loader.load(urlR)

header("Pragma:no-cache");

if(isset($_POST['flashXML'])){ //使用simpleXML扩展读取xml

$xmlstr=$_POST['flashXML'];

$flashXML=simplexml_load_string($xmlstr); //将字符串读入成xml

$path="这是PHP发出的".$flashXML->image['path']; //获取属性值

$name="这是PHP发出的".$flashXML->image['name'];

$PHPXML="<?xml version='1.0' encoding='utf-8'?>";

$PHPXML.="";

echo $PHPXML; //输出新的xml给flash

}

else

{

echo "无请求";

}

源文件下载

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值