帮助将图像上传到EC2实例(Flash - > PHP)

时间:2009-09-17 13:21:05

标签: php flash amazon-ec2 bytearray

我开发了一个图像上传应用程序,它使用Flash加载图像,调整图像大小并将图像数据的bytearray发送到PHP文件,该文件使用以下代码输出调整大小的文件 -

$default_path = '/uploads/temp/';
$filename = $_GET["filename"];
$destination = $default_path . $filename;
if(file_put_contents($destination, $GLOBALS["HTTP_RAW_POST_DATA"])) {
echo "The file " . basename( $_FILES[ 'Filedata' ][ 'name' ] ) . " has been uploaded;";
} else {
   echo "FILE UPLOAD FAILED";
}

当我从专用的Windows 2003 Web服务器运行它时,这非常有效,但现在我尝试在EC2实例上运行它,它已停止工作,我只得到“文件上传失败”消息。我可以从Firefox的Firebug插件中看出,bytearray数据正在发布到EC2实例,但无法看到还有什么会导致问题。

在EC2上我正在运行安装了PHP和Apache的CentOS映像,我不知道从哪里开始排除故障!请告诉我我需要在这里寻找什么问题,任何想法?

我检查了错误日志并收到以下错误消息 -

file_put_contents(/uploads/temp/abcdefg.JPG) [<a href='function.file-put-contents'>function.file-put-contents</a>]: failed to open stream: No such file or directory

这与pointint到错误的目录有关吗?或某些人在下面说明的权限?如何授予PHP写入此目录的权限,是否应该使用绝对路径来引用我要写入图像的目录?

欢呼

2 个答案:

答案 0 :(得分:1)

可能是权限问题,也许php用户没有写入指定目录的权限。

您是否在apache错误日志中有任何消息?

答案 1 :(得分:0)

我不知道你是否愿意与其他班级合作,但是有一些PHP EC2课程可以提供帮助 - http://sourceforge.net/projects/php-ec2/