move_uploaded_file failed to open stream: Permission denied - Mac

百般思念 提交于 2019-11-27 06:41:10

问题


While i am trying to move_uploaded_file in php with following code :

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

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

    }

I've got this error saying:

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

i tried in the terminal and didn't work:

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 

I am still getting the error and i am using Yosemite, any other solution ?


回答1:


My solution was to give the permission for the images folder and the php file, by going to the file > Right click > Get info > and then change all the permissions to read&write as the following picture.




回答2:


Set the same permission for your target(uploading) folder




回答3:


This problem solved by changing permission as described avobe and making the target folder in the same directory {Root rather than Home } in which application is running

path for image upload

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

path of folder in which application is running

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



回答4:


You can try after changing owner for the folder images where you are saving the images. It may work.

chown ownername:group folder;

you have to give absolute address of the folder




回答5:


I was running Yii2 on IIS (Windows 10) and I tweaked the path and got it working. See code snippet below:

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

Hope this helps.




回答6:


apply

sudo chmod 777 images/

to the folder/directory which is your server folder to store images. Please check which is your folder. Totally depends on your choice.



来源:https://stackoverflow.com/questions/31915957/move-uploaded-file-failed-to-open-stream-permission-denied-mac

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!