`
diding
  • 浏览: 81946 次
  • 性别: Icon_minigender_1
  • 来自: 四川
社区版块
存档分类
最新评论

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 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-1.9.beta.zip_AMFPHP 1.9 beta_amfphp 1.9_amfphp1_amfphp_1.

    标题中的"amfphp-1.9.beta.zip"指的是AMFPHP 1.9 beta的压缩包文件,这个版本可能是AMFPHP的测试版,旨在让开发者提前体验新功能并提供反馈。"amfphp 1.9"、"amfphp1"和"amfphp_1.9"都是与AMFPHP 1.9相关的标签,...

    amfphp-1.9.beta.20080120.zip_AMFPHP1.9_Making of_amfPHP 1_amfphp

    A javascript-based standards-friendly way of making Flash content accessible to browsers without Flash installed, including screen readers and primitive

    开源PHP代码AMFPHP

    从文件名`amfphp-1.9.beta.20080120`来看,这是AMFPHP的1.9版本的β测试版,发布于2008年1月20日。这个版本可能包含了一些新功能、改进和修复的bug,对于研究AMFPHP的历史发展和技术演变有一定参考价值。 使用...

    Flex 3 基础教程(10)

    AMFPHP 1.9 是当前最新的版本,支持 Flex、Flash 和 AIR 等多种平台。 二、环境搭建 环境搭建是使用 AMFPHP 的前提,需要安装 Apache 2.2、PHP 5.2、MYSQL 5.0 和 AMFPHP 1.9 等组件。目录结构也需要正确配置,以...

    AMFPHP教程(sns游戏开发)

    在示例中,使用的是1.9BETA2版本,但你也可以根据需求选择其他版本。将解压后的`amfphp`文件夹复制到Apache服务器的网站根目录。安装完成后,访问`http://localhost/amfphp/gateway.php`来验证AMFPHP是否正确安装。...

    AMFPHP入门教程,flex+php,flash+php

    教程中提到了1.9BETA2,但你可以根据当前最新的版本进行下载。下载完成后,将解压得到的`amfphp`文件夹复制到Apache服务器的网站根目录。确保服务器正确配置,然后访问`http://localhost/amfphp/gateway.php`,如果...

    AMFPHP php远程调用(RPC, Remote Procedure Call)工具 快速入门教程

    最新版本的AMFPHP 1.9beta增加了对AMF3的支持。 为了更好地理解如何使用AMFPHP,我们通过一个简单的登录示例来介绍客户端和服务器端的交互。在Flex客户端中,首先通过RemoteObject类初始化远程对象login_remoteObj...

Global site tag (gtag.js) - Google Analytics