1.编码问题
Fatal error: Uncaught exception 'VerboseException' with message 'Cannot modify header information
修正办法:
采用ANSI编码(这种搞起来,转换比较麻烦)或UTF8 no BOM,而非UTF8 with BOM
存为UTF8 no BOM模式:
DW参见:http://www.googlephp.cn/archives/tag/cannot-modify-header-information
DzSoft如图:
另外修改根目录下gateway.php (line127):
//$gateway->setCharsetHandler("utf8_decode", "ISO-8859-1", "ISO-8859-1");//注释掉,改为:
$gateway->setCharsetHandler("none", "ISO-8859-1", "ISO-8859-1");
2.NetStatusEvent
Flex/Flash 则报:
Error #2044: 未处理的 NetStatusEvent:。 level=error, code=NetConnection.Call.BadVersion
修正办法:
根目录下:
gateway.php(Line 132)
if(PRODUCTION_SERVER)
{
//Disable profiling, remote tracing, and service browser
//$gateway->disableDebug();//把它注释掉
// Keep the Flash/Flex IDE player from connecting to the gateway. Used for security to stop remote connections.
//$gateway->disableStandalonePlayer();//把它注释掉
}
3.Save byteArray into Mysql with Amfphp
AS code:
package
{
import flash.display.Sprite;
import flash.net.NetConnection;
import flash.net.ObjectEncoding;
import flash.net.Responder;
import flash.utils.ByteArray;
import flash.display.BitmapData;
public class Test extends Sprite
{
private var nc:NetConnection;
private var rsp:Responder;
public function Test()
{
rsp = new Responder(onResult,null);
nc = new NetConnection( );
nc.objectEncoding = ObjectEncoding.AMF3;
nc.connect("http://127.0.0.1/AmfphpForWareHouse/gateway.php");
nc.call("warehouse.MyPage.create",rsp,getData());
}
public function getData():Object
{
var obj:Object=new Object();
obj.firstName = "diding";
var bpd:BitmapData = new BitmapData(a.width,a.height);
bpd.draw(a);
var jpegEnc:JPEGEncoder = new JPEGEncoder(80);
var dat:ByteArray = jpegEnc.encode(bpd);
obj.pic = dat as ByteArray;
return obj;
}
private function onResult( e: * ):void
{
trace(e);
}
}
}
Php Code:
<?php
require_once "ConnectionHelper.php";
class MyPage{
public function create($contact)
{
$GLOBALS['amfphp']['encoding']='amf3';
$times=date("Y-m-d H:i:s");
$ps1=$contact['firstName'];
$ba=$contact['pic'];
$data = $ba->data;
$data = mysql_real_escape_string($data);
$result=mysql_query("INSERT INTO userinfo (firstname,pic,addTime)VALUES ('$ps1','$data','$times')");
return $result;
}
}
?>
这样能存入Mysql数据库了,但在返回给flash或flex时,会出现convert报错,这时需要返回前在map(类映射)中new一下:new byteArray();
如:
<?php
class AppVO
{
var $_explicitType ="vo.AppVO";
var $id;
var $userName;
var $email;
var $phone;
var $address;
var $pic;
public function AppVO(){}
public function mapObject($obj)
{
$this->id = $obj['id'];
$this->userName = $obj['username'];
$this->email = $obj['email'];
$this->phone = $obj['phone'];
$this->address = $obj['address'];
$this->pic =new ByteArray($obj['pic']);
}
}
?>
- 大小: 17.8 KB
分享到:
相关推荐
amfphp flash
A javascript-based standards-friendly way of making Flash content accessible to browsers without Flash installed, including screen readers and primitive
amfphp1.9 flex php flex和php的桥连amfphp1.9 flex php flex和php的桥连amfphp1.9 flex php flex和php的桥连
amfphp,flash,flex,php
AMFPHP是Action Message Format(AMF)的一个开源PHP实现。用于在PHP与Flash播放器无缝交换数据。
不想传递拆分字符串,解析串行XML了吧? 厌烦JSON了? 试试AMF吧,传送多种数据格式。
Apache + Php + Amfphp
amfphp2.1.1版本,可用于php与flex等前端技术的通信
这个是官网的amfphp-2.1.1,供写flex和php的童鞋下载哇!里面附带我自己给它的使用方法。
AMFPHP是Action Message Format(AMF)的一个开源PHP实现。用于在PHP与Flash播放器无缝交换数据。
amfphp和flex通讯的例子,一个及时聊天的例子,适合学习amfphp的朋友和网络开发的朋友学习
flex之amfphp通信实例源码,除了实例源码,还有一些其他帮助文件
适合初学者看的东西,里面详细讲述了使用 amfphp 的方法。 amfphp 到底有吗用呢?其实很简单,他可以让php给你不同类型的 数据,而不仅仅只有json那的string了。
mysql+apache+php+phpMyAdmin+amfphp 配置教程 对新手来说还是很有用的 有什么不懂的可以来我的博客。
不想传递拆分字符串,解析串行XML了吧? 厌烦JSON了? 试试AMF吧,传送多种数据格式。
amfphp 2.0 flash客户端与php服务端通信的工具
AMFPHP是PHP的远程调用(RPC, Remote Procedure Call)工具。它可以使PHP与下述技术无缝通信: (1) Flash 和 Flex Remoting (2) JavaScript JSON 和 Ajax JSON (3) XML 和XML-RPC
很好 很强大 详细的描述了利用amfphp与flash的交互详解
AMFPHP通信,用PHP开发FLASh游戏。AMFPHP通信,用PHP开发FLASh游戏,
AMFPHP项目主页:http://www.amfphp.org/ AMFPHP是PHP的远程调用(RPC, Remote Procedure Call)工具。它可以使PHP与下述技术无缝通信: (1) Flash 和 Flex Remoting (2) JavaScript JSON 和 Ajax JSON (3) ...