• 【设为首页】
  • 【收藏闪客居】
  • 网站地图
  • RSS订阅
当前位置 :主页 > FLASH AS 编程 > WEB程序应用 >
  • flash与php通讯解析

  • 来源:互联网 作者: 2010-04-16 【 】 TAG:flash与php

让我们在flash中通过php来得到一些外部。这次我们将要使用MySQL数据库,这将在下一个教程提到。在这个例程中,我们将要把从php文件中获得 的数据分别填充flash文件中的一个组合框,一个文本框和一个列表框中.要完成这个教程你需要有访问一个Web服务器的权限,并且该服务器支持php脚 本。

如果你不知道我在说什么, 下载这个小程序: phpdev.

phpdev 将会安装: apache(web服务端),php,Mysql 和phpMyadmin,你除了下载并运行这个程序之外不需要做其他任何事,一切都会毫无问题的自动完成(我希望如此).

这里有一个到他们站点的链接:
http://www.firepages.com.au/
这也有一个你需要运行以便学习这个教程的文件的链接,这玩意儿可真是个宝贝 :)
http://prdownloads.sourceforge.net/phpdev5/phpdev423.exe
  
安装完成后你的系统里会多出来一个名叫phpdev(缺省的话)的文件夹。这个文件夹里由各个名字叫"www"的文件夹,这就是网站的根目录了,也将是你测试你的php文件的目录。安装结束的时候,如果一切正常,web 服务会自动启动,系统会使用缺省的浏览器打开网站的根目录。如果没有,激活你的浏览器并在地址栏键入如下地址 :
/
你会看到一个以前冲浪的时候可能见过的界面。
图 1: apache服务端看上去应该是这样


如果我现在写一个能输出一些字符串的php小脚本,直接打开这个文件除了在文本编辑器里看到源代码之外不会发生任何事情。他不会执行php文件并输出你指 定的字符。而当你把这个文件拷贝到www目录下时,真正的魔法就发生了。确保apache服务器已经启动。打开浏览器并输入 /   你会看到web服务器的根目录(就像上图演示的那样),如果一切正常,你会在文件列表中发现你刚刚拷贝过去的文件,现在我点击这个文件来执行它,该文件正 确的被执行并吐出一串字符。

好了php已经正确的被安装了,现在我们准备好可以做一些php和flash的甚至更好的东西了,你的系统也已经准备好了将来要用到的php, mysql数据库和管理mysql数据库的phpmyadmin。 是时候写点代码了,让我们先写要准备发送到falsh中的php脚本。

在这个例子中我们将在php脚本中准备9个变量并将他们发送到flash中。前三个将会传送到组合框里,接下来三个将放到三个文本框中,最后三个会被加载 到列表框中。 所以现在激活你最喜欢的编辑器(我用的是sciTE|Flash),在其中写下如下php代码,并将其保存为myData.php。
另外,别忘了将代码写在php标签内:
"<"+"?" 在开头
这是php代码
"?" + ">" 在结尾

下面是php代码 :
$dataForCombobox_1 = "This is our FIRST variable,   ";

$dataForCombobox_2 = "This is our SECOND variable,   ";

$dataForCombobox_3 = "This is our THIRD variable, ";

$dataForListbox_1 = "This is our FIRST variable,   ";

$dataForListbox_2 = "This is our SECOND variable,   ";

$dataForListbox_3 = "This is our THIRD variable,   e";

$dataForTxtbox_1 = "This is our FIRST variable,   ";

$dataForTxtbox_2 = "This is our SECOND variable,   ";

$dataForTxtbox_3 = "This is our THIRD variable,   ";



print("&comboData1=$dataForCombobox_1");

print("&comboData2=$dataForCombobox_2");

print("&comboData3=$dataForCombobox_3");

print("&listbData1=$dataForListbox_1");

print("&listbData2=$dataForListbox_2");

print("&listbData3=$dataForListbox_3");

print("&textbData1=$dataForTxtbox_1");

print("&textbData2=$dataForTxtbox_2");

print("&textbData3=$dataForTxtbox_3");


我想这个文件不需要怎么解 释了。 首先我们设置了9个字符串变量,就是我们想在flash中显示的。我给了这些变量起了一些名字,这样可能容易理解。在php中一个变量声明时应该带上符 号"$",并且不要忘记在语句末尾加上符号";",所以我们通过 print命令将一个php变量赋值给一个将要传送到flash中的变量,这些被发送的变量都包含&符号,就像我们通过文本文件发送给flash 时一样。

如果我通过浏览器执行这个脚本,它会给出图2那样的输出。仔细看看输出的内容和php脚本的源代码你就会发现它背后的逻辑。因为我们的到了我们想要的,所 以我们知道这个php脚本的功能是正确的(老外废话真多受不了了。。。。),在你编写flash代码之前,要确认你从php脚本那里得到了正确的输出。那 会减少你很多麻烦和在计算机前的抓狂:)

如果一切正常你会知道如何测试一个php文件, 记住:
1: 拷贝php文件到 www 目录.
2: 确保apache服务端正在运行.
3: 激活浏览器并在地址栏输入地址: /
4: 浏览你的php文件并点击以执行它.



图2: php脚本的输出.


好了朋友们,最后,让我们打开flash mx(现在都flash 8了),我们只需要在时间轴上写一点代码。 我们将要使用loadVars对象来接受来自php文件中的数据。 然后我们将会收到来自php文件中的变量并且那些变量包含了我们想要显示的值。

下面是需要放在主时间轴的一帧上的flash代码:

//First we make a new loadvars object to hold
// the variables that are being loaded from the php file.
myData = new LoadVars();
//this is the part where we execute the
//function that handles the loaded data.
myData.onLoad = function(){
//call the function that handles the data.
placeTheDataIntoTheRightPlace();
};
//here we load in the php file, make sure
//you set the right path to your file!
myData.load("/myData.php");

// This is the function that handles the actual data.
// The variables now sorta live in the loadVars object
// we set named myData so we can call em like:
// myData.myVariableInthePhpPrintedString.
// Just look at the scrīpt   carefully and
//check how the variables are being called.
// Then it should become all a bit more clear to ya.
placeTheDataIntoTheRightPlace = function(){
myComboBox.addItemAt(0,myData.comboData1);
myComboBox.addItemAt(1,myData.comboData2);
myComboBox.addItemAt(2,myData.comboData3);
myListBox.addItemAt(0,myData.listbData1);
myListBox.addItemAt(1,myData.listbData2);
myListBox.addItemAt(2,myData.listbData3);
txtBox1.text = myData.textbData1;
txtBox2.text = myData.textbData2;
txtBox3.text = myData.textbData3;

如果一切正常,你现在拥有了一个php的功能测试环境, 安装一个本地测试环境确实可以帮助你很多。
现在你知道这是什么和怎么发送一些数据到flash的可能性在增加,我希望对你来说一些都很顺利,因为我知道问题总是
带来更多的问题

我乐于回答关于本教程的问题,(但是请牢记,我只是个在这世上挣扎在代码和其他事情中间的普通人,我真的不是专家(呵呵,尽管试过),
我只是喜欢脚本)

你可以通过邮件联系我: i_love_actionscrīpt at hotmail dot com

图 3: 这是最终的结果, 点击这里下载上面的代码



上一篇:jdhcn之minisite开发框架(flash web开发框架)   下一篇:FLASH与PHP通信
  • 用户名:新注册) 密码: 匿名评论
  • 评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规)
推荐内容

Copyright © 2006-2008 flashas.net All Rights Reserved. 浙ICP备06033001号
(本网站最佳浏览解析度为1024*768, 建议使用IE 6.0或以上版本浏览器。)