【问题标题】:PHP File upload not working on AWS server - mkdir returning falsePHP 文件上传在 AWS 服务器上不起作用 - mkdir 返回 false
【发布时间】:2016-09-29 03:05:26
【问题描述】:

我有一些代码可以在 AWS 服务器上上传文件。直到今天它工作正常,我决定从我的 AWS 服务器上删除所有代码,并上传了最新的代码副本,从那时起它就停止了工作。有人可以找出错误吗?

我尝试调试了一下,发现 mkdir(...) 函数返回 false。我不知道为什么它返回错误。我对我的“上传”文件夹拥有所有权限 - drwxrwxr-x。我还在表单上使用 enctype="multipart/form-data"。

有人可以指出我正确的方向吗?我会做剩下的。

谢谢。请帮忙!

$uniqueKey = md5(microtime(true)).uniqid();
$ret = array();

function makedir($dir){
    if (!is_dir($dir) && strlen($dir)>0){
        mkdir($dir, 0777, true);
        chmod($dir, 0777);
    }
}

$output_dir = "../uploads/".$uniqueKey."/";
makedir($output_dir);

if(isset($_FILES["myfile"])){
    $error =$_FILES["myfile"]["error"];
    $ret['unique'] = $uniqueKey;
    $ret['error'] = $error;

    if(!is_array($_FILES["myfile"]["name"])){
        $fileName = $_FILES["myfile"]["name"];
        move_uploaded_file($_FILES["myfile"]["tmp_name"],$output_dir.$fileName);
        $ret[]= $fileName;
    }else{
        $fileCount = count($_FILES["myfile"]["name"]);
        for($i=0; $i < $fileCount; $i++){
            $fileName = $_FILES["myfile"]["name"][$i];
            move_uploaded_file($_FILES["myfile"]["tmp_name"][$i],$output_dir.$fileName);
            $ret[]= $fileName;
        }
    }
}
echo json_encode($ret);

【问题讨论】:

    标签: php ajax file amazon-web-services file-upload


    【解决方案1】:

    这是权限。我将我的文件夹的权限从 drwxrwxr-x 更改为 drwxrwxrwx,它起作用了。

    【讨论】:

      猜你喜欢
      • 2014-10-29
      • 1970-01-01
      • 2019-07-17
      • 2014-05-02
      • 1970-01-01
      • 1970-01-01
      • 2015-09-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多