move_uploaded_file(uploads/): 无法打开流: 是一个目录

move_uploaded_file(uploads/): failed to open stream: Is a directory

我在服务器上上传文件的脚本有这个问题,文件名为 view.php。服务器不是本地主机,但由于 sudo,我拥有所有权限。 我已经授予该文件的所有权限 (777) 以及他应该上传文件的目录(称为 uploads/)。我知道这不是一个好的做法,但我真的把所有东西都绑起来了! view.php 和文件夹 uploads/ 在同一个文件夹中,我不知道这里有什么问题,我是否必须更改路径(原始路径:/var/www/html/concrete5/application/blocks/insert,两者都在名为 insert 的文件夹中)? 希望有人能帮助我,在此先感谢!

这是我的代码php:

$target_dir = "uploads/";
    $target_file = $target_dir. basename($_FILE["fileToUpload"]["name"]);
    $uploadOk=1;
    $imageFileType=strtolower(pathinfo($target_file,PATHINFO_EXTENSION));

    if($uploadOk == 0){
            echo "Sorry, your file was not uploaded.";
    }else{
    if(move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)){ //--- the problem is here!
            echo "The file ".htmlspecialchars(basename($_FILES["fileToUpload"]["tmp_name"])). " has been uploaded.";
    }else{
    echo "Sorry, there was an error uploading your file";
            }
    }

看起来你的 basename($_FILE["fileToUpload"]["name"]) 应该是 basename($_FILES["fileToUpload"]["name"]) 因为你拼错了 $_FILES https://www.php.net/manual/en/reserved.variables.files.php 这就是为什么它没有返回正确的文件名

:)