【发布时间】:2019-08-14 13:32:13
【问题描述】:
我正在尝试创建一个上传页面,用户可以在其中将他们的个人资料图片上传到我的 EC2 实例。我在 EC2 上创建了一个名为 profile-images 的目录,并且我有以下代码。当我上传文件时,我没有收到任何错误。但是,该文件没有被上传。我对profile-images 目录拥有这些权限:drwxrwsrwx 2 ec2-user www 4096 Mar 23 19:11 profile-images。任何帮助将不胜感激!
if(isset($_POST['submit'])){
$file = $_FILES['file_name'];
$fileName = $_FILES['file_name']['name'];
$fileTmpName = $_FILES['file_name']['tmp_name'];
$fileSize = $_FILES['file_name']['size'];
$fileError = $_FILES['file_name']['error'];
$fileType = $_FILES['file_name']['type'];
$fileExt = explode('.',$fileName);
$fileActualExt = strtolower(end($fileExt));
$allowed = array('jpg', 'jpeg', 'png', 'pdf');
if(in_array($fileActualExt, $allowed)){
if($fileError == 0){
if($fileSize < 1000000){
$fileNameNew = uniqid('',true).".".$fileActualExt;
$fileDestination ='http://server_path/profile-images/'.$fileNameNew;
move_uploaded_file($fileTmpName, $fileDestination);
echo "success";
} else {
echo "Your file is too big";
}
} else {
echo "There was an error uploading your file";
}
} else {
echo "You can not upload files of this type";
};
}
【问题讨论】:
-
不确定,但可能是因为
move_uploaded_file()可能需要相对路径。请参阅example 1。 -
是的,就是这样!我将其更改为
$fileDestination ='../profile-images/'.$fileNameNew;,现在可以使用了!谢谢! -
很高兴听到这个消息。官方给出了答案。我借用了你的解决方案。我希望没关系。
-
当然,没问题!再次感谢!
标签: php amazon-ec2 file-upload