Flash作為一種強大的應用開發平臺,與PHP結合可以實現更廣泛的功能。Flash AS(ActionScript)作為Flash平臺中的編程語言,與PHP結合可以實現更多功能,例如進行數據交互、實現在線應用、跨平臺等。
使用Flash AS與PHP結合時,需要在Flash中定義與PHP數據交互的函數,一般有兩種方式:使用LoadVars類和使用XML。以LoadVars類為例,不難看到與PHP的數據交互代碼如下:
<code>var sendVars:LoadVars = new LoadVars(); sendVars.username = "example"; sendVars.password = "example123"; sendVars.sendAndLoad("checkUser.php", result, "POST"); function result(resultVars:LoadVars):Void{ //resultVars為從PHP返回的結果 if(resultVars.msg == "true"){ trace("用戶存在"); }else{ trace("用戶不存在"); } }</code>PHP代碼如下:
<code>$username = $_POST['username']; $password = $_POST['password']; //連接數據庫進行查詢 if($result){//查詢成功 echo "msg=true"; }else{//查詢失敗 echo "msg=false"; }</code>以上代碼實現了Flash發送用戶數據到PHP并接收PHP返回的結果。常見的應用場景是在Flash中進行登錄驗證,即Flash中通過輸入用戶名和密碼,提交到PHP進行驗證是否存在該用戶,并把驗證結果返回給Flash。 Flash AS也可以與PHP結合實現在線應用,例如在線制作個性簽名。用于動態生成個性簽名的PHP源碼如下:
<code>$name = $_GET['name']; //訪問該PHP文件時傳遞name參數 header("Content-type: image/png"); //頭部指定輸出PNG格式的圖片 $im = imagecreatefrompng("sign.png"); $color = imagecolorallocate($im, 149, 149, 149); $fontfile = '../fonts/FZZJ.ttf'; $fontSize = 18; imagettftext($im, $fontSize, 0, 30, 40, $color, $fontfile, $name); //將用戶名寫入簽名圖像 imagepng($im); imagedestroy($im); //返回生成的PNG圖片</code>Flash AS代碼如下:
<code>var sendVars:LoadVars = new LoadVars(); sendVars.name = "張三";//name為生成簽名時需要傳遞的參數 var signLoader:MovieClipLoader = new MovieClipLoader(); var signContainer:MovieClip = this.createEmptyMovieClip("signContainer", 0); signLoader.addListener(this); signLoader.loadClip("makeSign.php", signContainer, "POST"); function onLoadInit(mc:MovieClip):Void{ trace("簽名加載成功"); } function onLoadError(mc:MovieClip, errorCode:String, httpStatus:Number):Void{ trace("簽名加載失敗"); }</code>通過以上代碼,Flash可以向PHP傳遞參數并接收返回的簽名圖片,實現在線制作個性簽名的功能。 除此之外,Flash AS與PHP結合還可以實現跨平臺功能,例如在Flash中使用SOCKET函數,與PHP服務器進行通信,實現跨平臺數據傳輸等功能。此處不再贅述。 總之,Flash AS與PHP結合可以實現更多功能,僅僅就數據交互、在線應用、跨平臺功能而言已經十分強大。但開發人員也需要防范安全性問題,避免被攻擊者利用漏洞造成損失。