我有一个 Flash 应用程序和几个 PHP 脚本。我想创建一个文件夹并将图像上传到它。
我的 php 代码位于“http://dev.myapp.com.au/php/testFtp.php”,我的存储位置是“storagetest.myapp.com.au”。这些域都存在于同一个“myapp”服务器上。
现在我只想创建新文件夹。在我的 PHP 中,我使用 ftp_connect()、ftp_login() 和 ftp_mkdir()。
当我的测试 PHP 从我的浏览器运行但不是从我的 Flash 应用程序调用时,这工作正常。这是我的 php 脚本的一部分:
$ftp_server = "storagetest.myapp.com.au";
$ftp_user_name = "name";
$ftp_user_pass = "pass";
$dirNew = "/web/test/storage/new_folder";
$conn_id = ftp_connect($ftp_server) or die("Couldn't connect to $ftp_server");
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
$mk = ftp_mkdir($conn_id, $dirNew);
ftp_close($conn_id);
编辑:
以及如何从 Flash 调用它:
sMyUrl = "http://dev.myapp.com.au/php/testFtp.php";
var myData:URLRequest = new URLRequest( sMyUrl );
myData.method = URLRequestMethod.POST;
var variables:URLVariables = new URLVariables();
(set some vars here)
myData.data = variables;
m_uloader = new URLLoader();
m_uloader.dataFormat = URLLoaderDataFormat.TEXT;
m_uloader.addEventListener(Event.COMPLETE, onRecordCompleteHandler);
m_uloader.addEventListener(IOErrorEvent.IO_ERROR, onIoErrorHandler);
m_uloader.load(myData);
此 Flash 代码适用于其他 PHP 脚本。
我想我已经找到了 ftp_connect() 的问题。当从 Flash 调用并且这是在脚本中时,整个脚本将停止工作。甚至我的测试回显语句也没有返回。
任何想法为什么这不起作用?谢谢 :)