Move_uploaded_file не удалось открыть поток: Permission denied - Mac

Пока я пытаюсь move_uploaded_file в php со следующим кодом:

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, любое другое решение?

Ответ 1

Мое решение состояло в том, чтобы предоставить разрешение на папку изображений и файл php, перейдя в файл > Щелкните правой кнопкой мыши > Получить информацию > , а затем измените все разрешения на read&write как следующее изображение.

введите описание изображения здесь

Ответ 2

Задайте одно и то же разрешение для вашей целевой (загружаемой) папки

Ответ 3

Эта проблема решена путем изменения разрешения, как описано в и создание целевой папки в том же каталоге {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

Вы можете попробовать после смены владельца изображения папки, в котором вы сохраняете изображения. Это может сработать.

chown ownername:group folder;

вы должны указать абсолютный адрес папки

Ответ 5

Я запустил Yii2 на IIS (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

применить

sudo chmod 777 images/

в папку/каталог, который является вашей папкой сервера для хранения изображений. Проверьте, какая именно ваша папка. Полностью зависит от вашего выбора.