찾다
백엔드 개발PHP 튜토리얼Amfphp1.9 非beta版 相干情况

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如图:
Amfphp1.9 非beta版 相干情况

另外修改根目录下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:
<?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']);	}}?>

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
function是什么意思function是什么意思Aug 04, 2023 am 10:33 AM

function是函数的意思,是一段具有特定功能的可重复使用的代码块,是程序的基本组成单元之一,可以接受输入参数,执行特定的操作,并返回结果,其目的是封装一段可重复使用的代码,提高代码的可重用性和可维护性。

504 gateway timeout怎么解决504 gateway timeout怎么解决Nov 27, 2023 am 10:55 AM

504 gateway timeout的解决办法:1、检查服务器负载;2、优化查询和代码;3、增加超时限制;4、检查代理服务器;5、检查网络连接;6、使用负载均衡;7、监控和日志;8、故障排除;9、增加缓存;10、分析请求。解决该错误通常需要综合考虑多个因素,包括服务器性能、网络连接、代理服务器配置和应用程序优化等。

flash是什么flash是什么Aug 10, 2023 am 10:16 AM

Flash是一种用于创建多媒体和互动内容的软件,具有矢量图形、时间轴动画、交互性和多媒体处理能力等特点。尽管曾经非常流行,但随着新技术的崛起,Flash逐渐被淘汰,并且在2020年停止了官方支持。

MySQL.proc表的作用和功能详解MySQL.proc表的作用和功能详解Mar 16, 2024 am 09:03 AM

MySQL.proc表的作用和功能详解MySQL是一种流行的关系型数据库管理系统,开发者在使用MySQL时常常会涉及到存储过程(StoredProcedure)的创建和管理。而MySQL.proc表则是一个非常重要的系统表,它存储了数据库中所有的存储过程的相关信息,包括存储过程的名称、定义、参数等。在本文中,我们将详细解释MySQL.proc表的作用和功能

"enumerate()"函数在Python中的用途是什么?"enumerate()"函数在Python中的用途是什么?Sep 01, 2023 am 11:29 AM

在本文中,我们将了解enumerate()函数以及Python中“enumerate()”函数的用途。什么是enumerate()函数?Python的enumerate()函数接受数据集合作为参数并返回一个枚举对象。枚举对象以键值对的形式返回。key是每个item对应的索引,value是items。语法enumerate(iterable,start)参数iterable-传入的数据集合可以作为枚举对象返回,称为iterablestart-顾名思义,枚举对象的起始索引由start定义。如果我们忽

PHP中var关键字的作用和示例PHP中var关键字的作用和示例Jun 28, 2023 pm 08:58 PM

PHP中var关键字的作用和示例在PHP中,var关键字用于声明一个变量。以前的PHP版本中,使用var关键字是声明成员变量的惯用方式,现在已经不再推荐使用。然而,在某些情况下,var关键字依然会被使用。var关键字主要用于声明一个局部变量,并且会自动将该变量标记为局部作用域。这意味着该变量仅在当前的代码块中可见,并且不能在其他函数或代码块中访问。使用var

在 Windows 11 上修复音频服务无响应问题的 18 种方法在 Windows 11 上修复音频服务无响应问题的 18 种方法Jun 05, 2023 pm 10:23 PM

音频输出和输入需要特定的驱动程序和服务才能在Windows11上按预期工作。这些有时最终会在后台遇到错误,从而导致音频问题,如无音频输出、缺少音频设备、音频失真等。如何修复在Windows11上没有响应的音频服务我们建议您从下面提到的修复开始,并逐步完成列表,直到您设法解决您的问题。由于Windows11上的多种原因,音频服务可能无法响应。此列表将帮助您验证和修复阻止音频服务在Windows11上响应的大多数问题。请按照以下相关部分帮助您完成该过程。方法一:重启音频服务您可能会遇

一起聊聊var、let以及const的区别(代码示例)一起聊聊var、let以及const的区别(代码示例)Jan 06, 2023 pm 04:25 PM

本篇文章给大家带来了关于JavaScript的相关知识,其中主要给大家介绍了var、let以及const的区别有哪些,还有ECMAScript 和 JavaScript的关系介绍,感兴趣的朋友一起来看一下吧,希望对大家有帮助。

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

안전한 시험 브라우저

안전한 시험 브라우저

안전한 시험 브라우저는 온라인 시험을 안전하게 치르기 위한 보안 브라우저 환경입니다. 이 소프트웨어는 모든 컴퓨터를 안전한 워크스테이션으로 바꿔줍니다. 이는 모든 유틸리티에 대한 액세스를 제어하고 학생들이 승인되지 않은 리소스를 사용하는 것을 방지합니다.

SublimeText3 Linux 새 버전

SublimeText3 Linux 새 버전

SublimeText3 Linux 최신 버전

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)