移动上传文件失败,无法打开流:权限被拒绝 - Mac

17

在尝试使用以下代码移动上传文件时,我正在使用php中的move_uploaded_file:

if(is_uploaded_file($_FILES['fileupload2']['tmp_name'])){

        move_uploaded_file($_FILES['fileupload2']['tmp_name'], "images/".$_FILES['fileupload2']['name']);

    }

我收到了这个错误信息:

Warning: move_uploaded_file(images/VIDEO_TS.VOB): failed to open stream: Permission denied in /Applications/XAMPP/xamppfiles/htdocs/Week3/Lesson2/do_upload.php on line 24

我在终端尝试过但没成功:

sudo CHMOD 775 /Applications/XAMPP/xamppfiles/htdocs/Week3/Lesson2/do_upload.php 

sudo chmod -R 0755 /Applications/XAMPP/xamppfiles/htdocs/Week3/Lesson2/do_upload.php 

sudo chown nobody /Applications/XAMPP/xamppfiles/htdocs/Week3/Lesson2/do_upload.php 
我仍然在使用Yosemite操作系统时遇到这个错误,请问还有其他解决方案吗?
8个回答

38

我的解决办法是授予图像文件夹和php文件的权限,方法是进入文件 > 右键单击 > 获取信息 > 然后将所有权限更改为读取&写入,如下图所示。

输入图像描述


3
我使用的是Ubuntu系统,曾经遇到过这样的问题,通过将要移动文件的文件夹的所有访问权限更改为“创建和删除文件”,我解决了这个问题。请参见下面的截图:

在此输入图片描述


0

我在IIS(Windows 10)上运行Yii2,并调整了路径,使其正常工作。请参见下面的代码片段:

if($model->load(Yii::$app->request->post())) {

    $image = UploadedFile::getInstance($model, 'image');
    $model->image = $image->getBaseName().'.'.$image->extension;            
    if($model->save()) {
        $image->saveAs('uploads/'.$model->image);//Notice the path change here
        return $this->redirect(['view', 'id' => $model->ID]);
    }

}
else {

    return $this->render('update-image', [
        'model' => $model
    ]);
}

希望这能有所帮助。

0

为您的目标(上传)文件夹设置相同的权限


0

这个问题可以通过按照上述描述更改权限并在应用程序运行的同一目录 {根目录而不是主目录} 中创建目标文件夹来解决。

图片上传路径

/Applications/XAMPP/xamppfiles/htdocs/emp/files/admin_assets/addsdassets/targrt_Folder

应用程序所在文件夹的路径

/Applications/XAMPP/xamppfiles/htdocs/emp/files/admin_assets/addsdassets/inser_db.php

0

这个问题是由于权限受限所引起的。要解决此问题,请使用以下命令扩展或更改您对文件夹的权限:chmod -R 777 文件夹路径

E.g:

chmod -R 777 /opt/lampp/htdocs/php/aitech/images/passport_photos

0

您可以尝试更改保存图像的文件夹“images”的所有者,然后再试一次。这可能会起作用。

chown ownername:group folder;

你必须提供文件夹的绝对地址


-3

应用

sudo chmod 777 images/

将图片存储到服务器文件夹/目录中,请检查您的文件夹位置。完全取决于您的选择。


2
哦,耶,一个 chmod 777 的“解决方案”。通常不安全,几乎从来不必要,有时作为快速 hack 可能是有效的。 - Nathan Tuggy

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接