PHPスクリプトを介してテキストを(サーバー上の)テキストファイルに保存する簡単なFlash ActionScript3プログラムを作成しようとしています。PHP スクリプトが書き込みに失敗したかどうかを Flash プログラムが検出できるようにしたいと考えています。現在、PHP から受け取ったステータスを Flash に追跡させようとしています。以下のコードは、オンラインで見つけたいくつかの例に基づいています。
ここに私のフラッシュコードがあります:
import flash.net.*;
import flash.events.*;
var varLoader:URLLoader = new URLLoader;
var varURL:URLRequest = new URLRequest("http://xxxxxxxx/outputTest.php");
var submittedData:URLVariables=new URLVariables();
varURL.data = submittedData;
varURL.method = URLRequestMethod.POST;
submittedData.inputData = "ThisIsTheDataToBeSaved";
submittedData.FileName = "ThisIsTheFileName";
varLoader.addEventListener(Event.COMPLETE, fxnDoneSaving);
varLoader.load(varURL);
function fxnDoneSaving(evt:Event):void{
trace("Done saving.");
trace("Write status: "+String(evt.target.data.WasWritingSuccessful));
}
ここに私のPHPコードがあります:
<?php
$receivedFromFlashData = $_POST['inputData'];
$receivedFromFlashFileName = $_POST['FileName'];
$filename = $receivedFromFlashFileName . ".txt";
$myTextFileHandler = fopen($filename,"w");
if($myTextFileHandler)
{$writeInTxtFile = @fwrite($myTextFileHandler,"$receivedFromFlashData");}
fclose($myTextFileHandler);
if ($writeInTxtFile)
{echo "WasWritingSuccessful=success";}
else
{echo "WasWritingSuccessful=failure";}
?>
Flash が最後のトレース ステートメントに到達すると、次のエラーが表示されます。
私が間違っていることを理解するのを手伝ってください。ありがとう!