Amfphp1.9 非beta版 相干情况

Jun 13, 2016 am 11:03 AM
flash function gateway var

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 までご連絡ください。

ホット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ヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

機能とはどういう意味ですか? 機能とはどういう意味ですか? Aug 04, 2023 am 10:33 AM

ファンクションとは、関数を意味します。これは、特定の関数を備えた再利用可能なコード ブロックです。プログラムの基本コンポーネントの 1 つです。入力パラメータを受け取り、特定の操作を実行し、結果を返すことができます。その目的は、再利用可能なコード ブロックをカプセル化することです。コードの再利用性と保守性を向上させるコード。

504ゲートウェイのタイムアウトを解決する方法 504ゲートウェイのタイムアウトを解決する方法 Nov 27, 2023 am 10:55 AM

504 ゲートウェイ タイムアウトの解決策: 1. サーバーの負荷を確認する; 2. クエリとコードを最適化する; 3. タイムアウト制限を増やす; 4. プロキシ サーバーを確認する; 5. ネットワーク接続を確認する; 6. 負荷分散を使用する; 7. 監視とログを作成する; 8 . トラブルシューティング; 9. キャッシュの追加; 10. リクエストの分析。このエラーを解決するには、多くの場合、サーバーのパフォーマンス、ネットワーク接続、プロキシ サーバーの構成、アプリケーションの最適化などの要素の組み合わせが必要になります。

フラッシュとは何ですか フラッシュとは何ですか Aug 10, 2023 am 10:16 AM

Flash は、ベクター グラフィックス、タイムライン アニメーション、インタラクティブ性、マルチメディア処理機能など​​の機能を備えた、マルチメディアおよびインタラクティブ コンテンツの作成に使用されるソフトウェアです。 Flash はかつて非常に人気がありましたが、新しいテクノロジーの台頭とともに段階的に廃止され、2020 年に公式サポートが終了しました。

Python の「enumerate()」関数の目的は何ですか? Python の「enumerate()」関数の目的は何ですか? Sep 01, 2023 am 11:29 AM

この記事では、Python の enumerate() 関数と「enumerate()」関数の目的について学びます。 enumerate() 関数とは何ですか? Python の enumerate() 関数は、データ コレクションをパラメータとして受け取り、列挙オブジェクトを返します。列挙オブジェクトはキーと値のペアとして返されます。キーは各項目に対応するインデックス、値は項目です。構文 enumerate(iterable,start) パラメータ iterable - 渡されたデータ コレクションは、iterablestart と呼ばれる列挙オブジェクトとして返すことができます。 - 名前が示すように、列挙オブジェクトの開始インデックスは start によって定義されます。無視したら

var、let、const の違いについて話しましょう (コード例) var、let、const の違いについて話しましょう (コード例) Jan 06, 2023 pm 04:25 PM

この記事では、JavaScript に関する関連知識をお届けします。主に、var、let、const の違い、ECMAScript と JavaScript の関係について紹介します。興味のある方はぜひご覧ください。皆さんのお役に立てれば幸いです。

MySQL.procテーブルの役割と機能の詳しい説明 MySQL.procテーブルの役割と機能の詳しい説明 Mar 16, 2024 am 09:03 AM

MySQL.proc テーブルの役割と機能の詳細な説明。MySQL は人気のあるリレーショナル データベース管理システムです。開発者が MySQL を使用する場合、多くの場合、ストアド プロシージャ (StoredProcedure) の作成と管理が必要になります。 MySQL.proc テーブルは非常に重要なシステム テーブルであり、ストアド プロシージャの名前、定義、パラメータなど、データベース内のすべてのストアド プロシージャに関連する情報が保存されます。この記事では、MySQL.proc テーブルの役割と機能について詳しく説明します。

Windows 11でオーディオサービスが応答しない問題を修正する18の方法 Windows 11でオーディオサービスが応答しない問題を修正する18の方法 Jun 05, 2023 pm 10:23 PM

オーディオ出力と入力が Windows 11 で期待どおりに動作するには、特定のドライバーとサービスが必要です。これらは場合によってはバックグラウンドでエラーが発生し、オーディオ出力がない、オーディオ デバイスが見つからない、オーディオが歪むなどのオーディオの問題を引き起こすことがあります。 Windows 11 でオーディオ サービスが応答しない問題を修正する方法 以下で説明する修正プログラムから始めて、問題を解決できるまでリストを順に進めていくことをお勧めします。 Windows 11 では、さまざまな理由でオーディオ サービスが応答しなくなる可能性があります。このリストは、Windows 11 でオーディオ サービスの応答を妨げるほとんどの問題を確認し、修正するのに役立ちます。プロセスを進めるには、以下の関連セクションに従ってください。方法 1: オーディオ サービスを再起動します。

デフォルトゲートウェイを構成する デフォルトゲートウェイを構成する Dec 07, 2023 pm 03:02 PM

デフォルト ゲートウェイを構成する手順: 1. コントロール パネルを開きます; 2. ネットワークとインターネットを選択します; 3. ネットワーク接続を構成します; 4. IP アドレスを構成します; 5. DNS サーバー アドレスを構成します; 6. 構成を確認します; 7. ネットワークを再起動しますデバイス。詳細な導入: 1. Windows システムで、コントロール パネルを開き、[スタート] メニューをクリックし、[コントロール パネル] を選択します; 2. コントロール パネルで、[ネットワークとインターネット] を選択し、[ネットワークとインターネット] を選択します; 3. ネットワーク接続を構成します。等。

See all articles