web-dev-qa-db-ja.com

move_uploaded_fileがストリームを開けませんでした:許可が拒否されました-Mac

私は次のコードで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 

私はまだエラーが発生し、私はヨセミテ、他のソリューションを使用していますか?

13
AaoIi

私の解決策は、ファイル>右クリック>情報を取得>に移動し、次の図のようにread&writeにすべての権限を変更して、画像フォルダとphpファイルの権限を付与することでした。

enter image description here

28
AaoIi

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

お役に立てれば。

0
user2288580

この問題は、前述のように権限を変更し、アプリケーションが実行されている同じディレクトリ{Homeではなくルート}にターゲットフォルダを作成することで解決しました。

画像アップロードのパス

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

アプリケーションが実行されているフォルダーのパス

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

画像を保存しているフォルダ画像の所有者を変更してから試すことができます。うまくいくかもしれません。

chown ownername:group folder;

フォルダーの絶対アドレスを指定する必要があります

0

ターゲット(アップロード)フォルダーに同じアクセス許可を設定します

0
ManiMuthuPandi