首页 > 解决方案 > 上传文件 PHP EC2 不工作没有错误

问题描述

我正在尝试创建一个上传页面,用户可以在其中将他们的个人资料图片上传到我的 EC2 实例。我创建了一个名为profile-imagesEC2 的目录,并且我有以下代码。当我上传文件时,我没有收到任何错误。但是,该文件没有被上传。我对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";
 };
}

标签: phpamazon-ec2file-upload

解决方案


move_uploaded_file() 需要相对路径(参见示例 1),而不是绝对路径:

(取自评论)

$fileDestination ='../profile-images/'.$fileNameNew;
move_uploaded_file($fileTmpName, $fileDestination);

推荐阅读