【问题标题】:Upload File PHP EC2 not working no errors上传文件 PHP EC2 不工作没有错误
【发布时间】: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


【解决方案1】:

move_uploaded_file()requires a relative path(见示例1),不是绝对的:

(取自cmets)

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-12
    • 2018-05-16
    • 1970-01-01
    • 2020-06-25
    相关资源
    最近更新 更多