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的测试版,旨在让开发者提前体验新功能并提供反馈。"amfphp 1.9"、"amfphp1"和"amfphp_1.9"都是与AMFPHP 1.9相关的标签,...
A javascript-based standards-friendly way of making Flash content accessible to browsers without Flash installed, including screen readers and primitive
AMFPHP 1.9 和 Flash 是两个与Web开发密切相关的技术,它们在构建富互联网应用程序(RIA)中发挥着重要作用。AMFPHP 是一个开源的PHP框架,它允许服务器端的PHP代码与客户端的Flash或Flex应用进行高效的数据交换。...
Flex AMFPHP 1.9 是一款用于连接Adobe Flex与PHP服务器端的开源框架,它提供了高效的二进制数据交换格式AMF(Action Message Format),从而实现Flash客户端与PHP服务端之间的快速通信。AMF是一种低级的数据表示格式...
- **安全更新**:1.9版可能修复了之前版本的一些已知安全问题,以增强系统安全性。 - **性能优化**:可能对某些关键部分进行了优化,提高了处理速度和响应时间。 使用AMFPHP 1.9时,开发者需要注意安装和配置过程,...
从文件名`amfphp-1.9.beta.20080120`来看,这是AMFPHP的1.9版本的β测试版,发布于2008年1月20日。这个版本可能包含了一些新功能、改进和修复的bug,对于研究AMFPHP的历史发展和技术演变有一定参考价值。 使用...
2. `amfphp 1.9.zip`:这是AMFPHP的源代码或安装包,版本号为1.9。用户可以解压后安装在自己的PHP环境中,然后按照文档的指导设置和使用AMFPHP。 总的来说,这个压缩包是一个全面的AMFPHP学习资源,包含理论讲解和...
AMFPHP 1.9 是当前最新的版本,支持 Flex、Flash 和 AIR 等多种平台。 二、环境搭建 环境搭建是使用 AMFPHP 的前提,需要安装 Apache 2.2、PHP 5.2、MYSQL 5.0 和 AMFPHP 1.9 等组件。目录结构也需要正确配置,以...
在2.1.1版本中,AMFPHP进一步优化了性能和稳定性,使得开发者能更高效地构建跨平台的富互联网应用程序(RIA)。 **AMF简介** AMF是一种二进制的数据序列化格式,由Adobe开发,它能够高效地编码和解码数据,特别是...
4. **Flex客户端支持**:AMFPHP与Flex SDK紧密集成,使得在Flex应用中使用AMFPHP服务变得简单,只需添加适当的配置和库引用即可。 5. **文档生成**:AMFPHP可能包含文档生成工具,帮助开发者自动生成服务接口文档,...
7. **社区与文档**:AMFPHP拥有活跃的开发者社区和丰富的文档资源,包括教程、示例代码和API参考,帮助开发者快速上手并解决遇到的问题。 综上所述,AMFPHP通过结合Apache和PHP,为Web服务提供了一种高效、易用的...
不想传递拆分字符串,解析串行XML了吧? 厌烦JSON了? 试试AMF吧,传送多种数据格式。
- **AMFPHP**: `amfphp1.9` #### 三、安装顺序 推荐按照以下顺序进行安装: 1. **MySQL** 2. **PHP** 3. **Apache** 4. **AMFPHP** 5. **phpMyAdmin** #### 四、安装与配置详解 ##### 1. MySQL 的安装与配置 -...
4. **兼容性**:AMFPHP 2.2.2 应该与各种版本的Flash Player和Flex SDK兼容,同时支持AMF0和AMF3两种AMF版本,以适应不同客户端的需求。 5. **性能优化**:作为成熟版本的2.2.2,AMFPHP可能已经过优化,以减少处理...
在示例中,使用的是1.9BETA2版本,但你也可以根据需求选择其他版本。将解压后的`amfphp`文件夹复制到Apache服务器的网站根目录。安装完成后,访问`http://localhost/amfphp/gateway.php`来验证AMFPHP是否正确安装。...
Flex与AMFPHP通信是一种常见的在富互联网应用(RIA)中实现服务器端数据交互的方式。Flex作为Adobe开发的开源框架,主要用于构建具有丰富用户界面的Web应用,而AMFPHP则是一个快速、轻量级的PHP框架,它允许Flex...
AMFPHP的核心功能在于其二进制数据格式,它能将复杂的数据结构(如对象和数组)转换为高效的数据流,从而提供比XML或JSON更快的传输速度。在Flex应用程序中,我们可以使用Flash Player的AMF支持来直接处理这些数据流...
教程中提到了1.9BETA2,但你可以根据当前最新的版本进行下载。下载完成后,将解压得到的`amfphp`文件夹复制到Apache服务器的网站根目录。确保服务器正确配置,然后访问`http://localhost/amfphp/gateway.php`,如果...
AMFPHP 2.0版是AMFPHP框架的第二个主要版本,它引入了新的特性和改进,以优化开发者的工作流程和提升整体性能。这个alpha1版本可能包含了早期的开发成果,供开发者测试和反馈,以便在正式版本发布前修复潜在问题和...