Ответ 1
Мое решение состояло в том, чтобы предоставить разрешение на папку изображений и файл php, перейдя в файл > Щелкните правой кнопкой мыши > Получить информацию > , а затем измените все разрешения на read&write
как следующее изображение.
Пока я пытаюсь 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, любое другое решение?
Мое решение состояло в том, чтобы предоставить разрешение на папку изображений и файл php, перейдя в файл > Щелкните правой кнопкой мыши > Получить информацию > , а затем измените все разрешения на read&write
как следующее изображение.
Задайте одно и то же разрешение для вашей целевой (загружаемой) папки
Эта проблема решена путем изменения разрешения, как описано в и создание целевой папки в том же каталоге {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
Вы можете попробовать после смены владельца изображения папки, в котором вы сохраняете изображения. Это может сработать.
chown ownername:group folder;
вы должны указать абсолютный адрес папки
Я запустил 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
]);
}
Надеюсь, это поможет.
применить
sudo chmod 777 images/
в папку/каталог, который является вашей папкой сервера для хранения изображений. Проверьте, какая именно ваша папка. Полностью зависит от вашего выбора.