·您当前的位置:首页 > 技术教程 > AS2与AS3技术 >

[AS3]as3.0与PHP程序通信源代码示例

时间:2012-06-26 09:35Cuplayer
AS3与后台语言通信在网络应用中已经是司空见惯了,很多网站都以FLASH作为前台,以PHP作为后台。当然,有一些网站是使用.net后台技术的。在这篇文章中,我们将要讨论如何使用FLASH的AS3语言与PHP后台语言通信。实际上,其他后台语言的通信方法大同小异

  AS3与后台语言通信在网络应用中已经是司空见惯了,很多网站都以FLASH作为前台,以PHP作为后台。当然,有一些网站是使用.net后台技术的。在这篇文章中,我们将要讨论如何使用FLASH的AS3语言与PHP后台语言通信。实际上,其他后台语言的通信方法大同小异。在FLASH这方面进行的操作是非常简单的。可以说我们仅仅用几行代码就可以达到我们想要的效果。同时,你可以使用相同的AS3代码去访问不同的后台语言。我将在另外一篇文章中讲解FLASH与.net后台交互的方法。
  首先,想使用FLASH与后台交互,我们先要准备一个后台的支持,由于我们使用的是php语言,所以我选择wamp5。这个软件是一个集成的php虚拟后台,安装它之后,你的机器就会变成一台php服务器了。下面的工作就要进入到代码的编写阶段。先来看一个简单的实例。在这个实例中,我们将使用FLASH去访问一个设定好的php页面,这个页面会向FLASH返回一个结果,一般来说这个结果使用字符串类型。

  下面是AS3的代码:

  1. a_mc.addEventListener(MouseEvent.CLICK,an);  
  2. function an(evt:MouseEvent):void {  
  3. var _loader = new URLLoader();  
  4. var _url:URLRequest = new URLRequest("http://localhost/a.php");  
  5. _loader.addEventListener(Event.COMPLETE, loaded);  
  6. _loader.load(_url);  
  7. }  
  8. function loaded(evt:Event):void  
  9. {  
  10. trace(evt.target.data);  

  上面是FLASH中的代码,我只是截取了代码中的一个比较重要的片段,你可以自己将类文件填写完整。再来看看php文件的代码:

  1. <?php 
  2. $abc = "niahodfa";  
  3. echo "nei=$abc";  
  4. ?> 

  学过php的朋友对这个代码应该是很熟悉的,这个代码属于小儿科水平。但是,作为通讯的演示文件最合适不过了。好了,将php文件保存,然后放到我们的网站根目录,测试FLASH影片。你就可以看到效果了。

  通过上面的实例,我想大家应该对后台通讯有一点点了解,只要实际的去实验一下这段代码你就明白其中的道理。
这只是一个非常简单的通讯实例,与其说是实例,不如说是一个测试程序,如果你的FLASH却是能够输出内容,那么表明你的php服务器能够运行。在平常的应用中,我们大部分时间都要求FLASH能够给PHP传递一些参数,这些个参数可能是用户名,用户密码等等。那么我们如何把FLASH中的这些内容告诉php呢?
很简单,你需要把代码进行一点点修改!另外,你要考虑数据的传输方式,我个人比较推荐post。安全第一,本身FLASH的安全性就够差的了,如果你再使用get传值,那你的网站就完蛋了。

  FLASH中的代码:

  1. //System.useCodePage=true;  
  2. var xm:XML = <a><b>afde</b><g>eeee</g></a>;  
  3. a_mc.addEventListener(MouseEvent.CLICK,an);  
  4. function an(evt:MouseEvent):void {  
  5.  
  6. var _loader = new URLLoader();  
  7. _loader.dataFormat = URLLoaderDataFormat.VARIABLES;  
  8. var _durl:URLRequest = new URLRequest("http://localhost/bc.php");  
  9.  
  10. var val:URLVariables = new URLVariables();  
  11. val.dizhi = xm;  
  12. _durl.data = val;  
  13.  
  14. _durl.method = URLRequestMethod.POST;  
  15. _loader.addEventListener(Event.COMPLETE, loaded);  
  16. _loader.load(_durl);  
  17.  
  18. }  
  19. function loaded(evt:Event):void {  
  20. trace(evt.target.data);  

  php中的代码:

  1. <?php 
  2. $abc = "niahodfa";  
  3.  
  4. $do = $_POST['dizhi'];  
  5.  
  6. echo "nei=$do";  
  7. ?> 
  8.  

  这样就可以了,大家可以去试一试,很方便的。具体代码就不在解释了,帮助文档中都有。

热门文章推荐

请稍候...

保利威视云平台-轻松实现点播直播视频应用

酷播云数据统计分析跨平台播放器