2011-09-22 44 views
2

我已经使用这个代码执行PHP文件的ActionScript3的swf文件:AS3的swf文件无法执行php文件

var load_php:URLLoader = new URLLoader(new URLRequest("php+txt/TIME.php")); 

这个PHP文件获取服务器的时间,并将其写入到一个文本文件SWF文件读取

问题是这样的:

php文件根本不

执行我在不同的主机测试相同的文件,他们都工作正常

这个问题是什么原因以及如何解决?

请告诉我,如果你需要更多的细节

解决:有因为今天的日期 一些命名问题,它包含零的,但我的AS3代码输出零正在读它, 事与愿违找到该文件为例: 文件名是:07-02-2012 我的as3代码将其读为:2012年7月2日

+0

难道PHP脚本甚至可以打?尝试此操作时,服务器的访问日志中是否显示GET请求? –

+0

@Marc B没有数据传递给php文件,当我加载时它只是包含一些php代码来将服务器时间写入文本文件 –

+1

为什么不让php脚本直接输出服务器时间到.swf ?似乎很愚蠢的将它写入文件,然后让.swf发出另一个请求来获取该文件。 –

回答

1

您需要执行脚本并在脚本完成时获取返回值,请按照代码:

var phpLoader:URLLoader = new URLLoader(); 
var request:URLRequest = new URLRequest("phpUrl"); 
//getting any problem with file not found 
phpLoader.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler, false, 0, true); 
//Getting any security error 
phpLoader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler, false,0, true); 
//When the script is complete 
phpLoader.addEventListener(Event.COMPLETE, onCompleteHandler, false, 0, true); 
//Execute the script  
phpLoader.load(request); 

private function onCompleteHandler():void{ 
    var loader:URLLoader = URLLoader(e.target); 
    trace ("loader.data", loader.data); 
} 

private function securityErrorHandler():void{/*TODO:*/} 
private function ioErrorHandler():void{/*TODO:*/} 

记住,你的PHP需要传递一些信息,通过方法POST到AS3或GET