• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

Amfphp1.9 非beta版 相干情况

php 搞代码 3年前 (2022-01-25) 11次浏览 已收录 0个评论

Amfphp1.9 非beta版 相关情况
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 connecti<strong>+本文来源gao@daima#com搞(%代@#码网</strong><pre>搞代gaodaima码

ng 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:

<?phprequire_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();
如:

<?phpclass 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']);	}}?>


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Amfphp1.9 非beta版 相干情况
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址