我已经开发出使用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的萤火虫告诉插件,的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许可,我应该使用绝对路径来引用该目录,我想写的形象?

欢呼声

有帮助吗?

解决方案

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

你有没有在Apache的错误日志的留言吗?

其他提示

我不知道,如果你愿意与其他的类工作,但也有少数PHP EC2类围绕这可以帮助 - 的 http://sourceforge.net/projects/php-ec2/

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top