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

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Fonction signifie fonction. Il s'agit d'un bloc de code réutilisable avec des fonctions spécifiques. C'est l'un des composants de base d'un programme. Il peut accepter des paramètres d'entrée, effectuer des opérations spécifiques et renvoyer des résultats. code pour améliorer la réutilisabilité et la maintenabilité du code.

Solutions au délai d'expiration de la passerelle 504 : 1. Vérifiez la charge du serveur ; 2. Optimisez la requête et le code ; 3. Augmentez la limite de délai d'attente ; 4. Vérifiez la connexion réseau ; 6. Utilisez l'équilibrage de charge ; . Dépannage ; 9. Ajouter du cache ; 10. Analyser les requêtes. La résolution de cette erreur nécessite souvent une combinaison de facteurs, notamment les performances du serveur, la connectivité réseau, la configuration du serveur proxy et l'optimisation des applications.

Flash est un logiciel utilisé pour créer du contenu multimédia et interactif, avec des fonctionnalités telles que des graphiques vectoriels, une animation chronologique, une interactivité et des capacités de traitement multimédia. Bien qu’autrefois très populaire, Flash a été progressivement abandonné avec l’essor des nouvelles technologies, et le support officiel a cessé en 2020.

Explication détaillée du rôle et de la fonction de la table MySQL.proc MySQL est un système de gestion de bases de données relationnelles populaire. Lorsque les développeurs utilisent MySQL, ils impliquent souvent la création et la gestion de procédures stockées (StoredProcedure). La table MySQL.proc est une table système très importante. Elle stocke les informations relatives à toutes les procédures stockées dans la base de données, y compris le nom, la définition, les paramètres, etc. Dans cet article, nous expliquerons en détail le rôle et les fonctionnalités de la table MySQL.proc

Dans cet article, nous découvrirons la fonction enumerate() et le but de la fonction « enumerate() » en Python. Qu'est-ce que la fonction enumerate() ? La fonction enumerate() de Python accepte une collection de données comme paramètre et renvoie un objet d'énumération. Les objets d'énumération sont renvoyés sous forme de paires clé-valeur. La clé est l'index correspondant à chaque élément, et la valeur est les éléments. Syntaxe enumerate(iterable,start) Paramètres iterable - Les données transmises dans la collection peuvent être renvoyées sous forme d'objet d'énumération, appelé iterablestart - Comme son nom l'indique, l'index de départ de l'objet d'énumération est défini par start. si nous ignorons

Cet article vous apporte des connaissances pertinentes sur JavaScript. Il vous présente principalement les différences entre var, let et const, ainsi que la relation entre ECMAScript et JavaScript. Les amis intéressés peuvent y jeter un œil.

La sortie et l’entrée audio nécessitent des pilotes et services spécifiques pour fonctionner comme prévu sous Windows 11. Ceux-ci finissent parfois par rencontrer des erreurs en arrière-plan, provoquant des problèmes audio comme l'absence de sortie audio, des périphériques audio manquants, un son déformé, etc. Comment réparer le service audio qui ne répond pas sous Windows 11 Nous vous recommandons de commencer par les correctifs mentionnés ci-dessous et de parcourir la liste jusqu'à ce que vous parveniez à résoudre votre problème. Le service audio peut ne plus répondre pour un certain nombre de raisons sous Windows 11. Cette liste vous aidera à vérifier et à résoudre la plupart des problèmes qui empêchent les services audio de répondre sous Windows 11. Veuillez suivre les sections pertinentes ci-dessous pour vous aider tout au long du processus. Méthode 1 : Redémarrez le service audio Vous pouvez rencontrer.

Étapes pour configurer la passerelle par défaut : 1. Déterminez l'adresse IP du routeur ; 2. Ouvrez l'interface de configuration réseau de l'ordinateur ; 3. Configurez la connexion réseau. 5. Entrez l'adresse IP et le masque de sous-réseau ; . Configurez la passerelle par défaut ;7. Configurez le serveur DNS ; 8. Enregistrez les paramètres. Introduction détaillée : 1. Déterminez l'adresse IP du routeur. L'adresse de passerelle par défaut est généralement l'adresse IP du routeur. Vous pouvez trouver l'adresse IP du routeur à l'arrière du routeur ou dans le manuel d'utilisation. 2. Ouvrez la configuration réseau de l'ordinateur, etc. .
