2009-09-17 111 views
0

我开发了一个图像上传应用程序,它使用Flash加载图像,调整图像大小并将图像数据的bytearray发送到一个PHP文件,输出调整大小使用下面的代码文件 -将图像上传到EC2实例(Flash - > 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我正在运行CentOS映像,安装了PHP和Apache,我不知道从哪里开始解决这个问题!请告诉我我需要在这里寻找什么问题,有什么想法?

我检查错误日志,并得到以下错误消息 -

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写这个目录的权限,并且应该使用绝对路径来引用我想要写映像的目录?

欢呼

回答

1

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

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

+0

我该如何检查?我不明白你的意思是PHP用户?我如何知道这个PHP用户有什么权限以及如何更改它们? – undefined

+0

我已更新我的问题 – undefined

+0

请参阅我对另一个问题的回答(以避免重新输入所有内容...):http://stackoverflow.com/questions/1418183/problem-getting-image-to-save/1418195# 1418195 – jeroen