尽管拥有完全权限,PHP无法移动上载的文件?

我正在使用类似博客的网站进行编码,并具有正确发布和显示帖子的功能。目前,我正在尝试通过使用PHPmove_uploaded_file函数将图像上载到项目文件夹中的文件夹中,以添加一个将图像包含在帖子中的选项。


我已通过授予Apache用户_www的读取,写入和执行权限chmod。我还确保了它有权在导致上载文件夹本身的父目录中进行写入,读取和执行。


我什至尝试使用将项目文件夹的完全所有权转让给所述用户chown。但是,我收到了一个PHP警告,内容为:


PHP警告:move_uploaded_file(/ Users / MyUser / Desktop / Project / assets / php /../ uploads / 2.jpg):无法打开流:/ Users / MyUser / Desktop / Project / assets / php / upload中的权限被拒绝.php文件


的PHP


$target_dir = __DIR__ . "/../uploads/";

var_dump($target_dir);

$file = basename($_FILES["file"]["name"]);

$target_file = $target_dir . $file;

$allowed_extensions = array("jpeg", "jpg", "png");

$imageFileType = strtolower(pathinfo($target_file, PATHINFO_EXTENSION));



if(isset($_POST["upload"])) {

  echo $target_file;


  $stmt = $pdo->prepare("INSERT INTO images (imgTitle, imgLocation) VALUES (:imgTitle, :imgLocation)");

  $stmt->execute(array(

    ":imgTitle" => basename($_FILES["file"]["name"]),

    ":imgLocation" => $target_file

  ));


  if ($imageFileType = in_array($imageFileType, $allowed_extensions)) {

    move_uploaded_file($_FILES["file"]["tmp_name"], $target_file);

  }

}

的HTML


<form action="" method="post" enctype="multipart/form-data">

    Select Image File to Upload:

    <p><input type="file" name="file"></p>

    <input type="submit" name="upload" value="Upload">

</form>

为什么会发生这种情况,如何在不将_www用户更改为我的用户的情况下解决此问题?


慕娘9325324
浏览 131回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP