私は次のコードで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
私はまだエラーが発生し、私はヨセミテ、他のソリューションを使用していますか?
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
]);
}
お役に立てれば。
この問題は、前述のように権限を変更し、アプリケーションが実行されている同じディレクトリ{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;
フォルダーの絶対アドレスを指定する必要があります
ターゲット(アップロード)フォルダーに同じアクセス許可を設定します