[AS3]as3.0与PHP程序通信源代码示例
AS3与后台语言通信在网络应用中已经是司空见惯了,很多网站都以FLASH作为前台,以PHP作为后台。当然,有一些网站是使用.net后台技术的。在这篇文章中,我们将要讨论如何使用FLASH的AS3语言与PHP后台语言通信。实际上,其他后台语言的通信方法大同小异。在FLASH这方面进行的操作是非常简单的。可以说我们仅仅用几行代码就可以达到我们想要的效果。同时,你可以使用相同的AS3代码去访问不同的后台语言。我将在另外一篇文章中讲解FLASH与.net后台交互的方法。
首先,想使用FLASH与后台交互,我们先要准备一个后台的支持,由于我们使用的是php语言,所以我选择wamp5。这个软件是一个集成的php虚拟后台,安装它之后,你的机器就会变成一台php服务器了。下面的工作就要进入到代码的编写阶段。先来看一个简单的实例。在这个实例中,我们将使用FLASH去访问一个设定好的php页面,这个页面会向FLASH返回一个结果,一般来说这个结果使用字符串类型。
下面是AS3的代码:
- a_mc.addEventListener(MouseEvent.CLICK,an);
- function an(evt:MouseEvent):void {
- var _loader = new URLLoader();
- var _url:URLRequest = new URLRequest("http://localhost/a.php");
- _loader.addEventListener(Event.COMPLETE, loaded);
- _loader.load(_url);
- }
- function loaded(evt:Event):void
- {
- trace(evt.target.data);
- }
上面是FLASH中的代码,我只是截取了代码中的一个比较重要的片段,你可以自己将类文件填写完整。再来看看php文件的代码:
- <?php
- $abc = "niahodfa";
- echo "nei=$abc";
- ?>
学过php的朋友对这个代码应该是很熟悉的,这个代码属于小儿科水平。但是,作为通讯的演示文件最合适不过了。好了,将php文件保存,然后放到我们的网站根目录,测试FLASH影片。你就可以看到效果了。
通过上面的实例,我想大家应该对后台通讯有一点点了解,只要实际的去实验一下这段代码你就明白其中的道理。
这只是一个非常简单的通讯实例,与其说是实例,不如说是一个测试程序,如果你的FLASH却是能够输出内容,那么表明你的php服务器能够运行。在平常的应用中,我们大部分时间都要求FLASH能够给PHP传递一些参数,这些个参数可能是用户名,用户密码等等。那么我们如何把FLASH中的这些内容告诉php呢?
很简单,你需要把代码进行一点点修改!另外,你要考虑数据的传输方式,我个人比较推荐post。安全第一,本身FLASH的安全性就够差的了,如果你再使用get传值,那你的网站就完蛋了。
FLASH中的代码:
- //System.useCodePage=true;
- var xm:XML = <a><b>afde</b><g>eeee</g></a>;
- a_mc.addEventListener(MouseEvent.CLICK,an);
- function an(evt:MouseEvent):void {
- var _loader = new URLLoader();
- _loader.dataFormat = URLLoaderDataFormat.VARIABLES;
- var _durl:URLRequest = new URLRequest("http://localhost/bc.php");
- var val:URLVariables = new URLVariables();
- val.dizhi = xm;
- _durl.data = val;
- _durl.method = URLRequestMethod.POST;
- _loader.addEventListener(Event.COMPLETE, loaded);
- _loader.load(_durl);
- }
- function loaded(evt:Event):void {
- trace(evt.target.data);
- }
php中的代码:
- <?php
- $abc = "niahodfa";
- $do = $_POST['dizhi'];
- echo "nei=$do";
- ?>
这样就可以了,大家可以去试一试,很方便的。具体代码就不在解释了,帮助文档中都有。
热门文章推荐
- [HLS]做自己的m3u8点播系统使用HTTP Live Streaming(HLS技术)
- [FMS]FMS流媒体服务器配置与使用相关的介绍
- [AS3]什么是M3U8,与HTML5的区别是什么
- AS2.0 让flash自适应全屏,并且不自动缩放
- [AS3]as3.0的sound类常用技巧整理
- [AS3]as3与ByteArray详解、ByteArray介绍、ByteArray用法
- 关于RTMP,RTMPT,RTMPS,RTMPE,RTMPTE协议的介绍
- [JS]分享浏览器弹出窗口不被拦截JS示例