move_uploaded_file无法打开流:权限被拒绝 - Mac

时间:2015-08-10 09:24:22

标签: php apache file-upload upload xampp

我正在尝试使用以下代码在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 

我仍然收到错误,我正在使用优胜美地,任何其他解决方案?

7 个答案:

答案 0 :(得分:27)

我的解决方案是通过转到文件>给予images文件夹和php文件的权限。右键单击>获取信息>然后将所有权限更改为read&write,如下图所示。

enter image description here

答案 1 :(得分:2)

我正在使用ubuntu,一旦遇到此问题,我便通过将要移动文件的文件夹的所有访问权限更改为“创建和删除文件”来解决了该问题。请参见下面的屏幕截图:

enter image description here

答案 2 :(得分:0)

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

答案 3 :(得分:0)

通过更改权限来解决此问题,如avobe所述 并使目标文件夹位于运行应用程序的同一目录{Root而不是Home}

图片上传路径

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

运行应用程序的文件夹的路径

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

答案 4 :(得分:0)

您可以在更改所有者后尝试保存图像的文件夹图像。它可能有用。

chown ownername:group folder;

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

答案 5 :(得分:0)

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

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
    ]);
}

希望这有帮助。

答案 6 :(得分:-2)

申请

sudo chmod 777 images/

到文件夹/目录,它是用于存储图像的服务器文件夹。请检查哪个是您的文件夹。完全取决于您的选择。