PHP move_uploaded_file()によって変更されたファイルの奇数のパーミッション

StackOverflow https://stackoverflow.com/questions/205822

  •  03-07-2019
  •  | 
  •  

質問

Windows Server 2003 EnterpriseボックスでPHP 5.2.6を実行しています。 IISは匿名アクセスを拒否し、統合Windows認証を使用するように設定されています。

PHPスクリプトを使用して、Webフォームからアップロードされたファイルを保存しています。ファイルは一時フォルダーにアップロードされ、スクリプトはWebフォームの他の変数に応じてファイル名とパスを作成し、スクリプトはPHPのmove_uploaded_file()を使用して一時ファイルを最終的な場所に移動します。それはすべて正常に動作します。要するに、人々はファイルをアップロードしているので、グループの全員がそれらを見ることができ、ファイルはスクリプトによって整理されます。

私の問題は、最終的な場所にあるファイルに奇妙な権限があることです。一時的な場所または最終的な場所のいずれかからのアクセス許可で終わることはありません。一時的な場所と最終的な場所の両方に同じ権限があります。所有者と管理者の完全な権限。 2つの特定のADセキュリティグループの読み取りおよび読み取り/実行。最終的なファイルは、所有者と管理者の完全な権利のみで終わります。そのため、管理者と元のアップローダーは問題なくファイルを表示できますが、グループ内の他のすべてのユーザーは「許可が拒否されました」と表示されます。アクセスしようとしたとき。

どんなアイデアや提案も大歓迎です!ありがとう!

役に立ちましたか?

解決

これは、 move_uploaded_file()関数の問題のようです:
http://us3.php.net/ move_uploaded_file
以下のコメントを見て、copy()についてのFlorianのコメントに注意してください。

copy()は問題を解決しますか?:
http://us3.php.net/manual/en/function.copy。 php

他のヒント

move_uploaded_fileのphpページから(nb:これでうまくいきました):

WindowsおよびIISでPHPを使用する場合は、" upload_tmp_dir"を設定する必要があります。 php.iniの値をWebサイトディレクトリがある場所のディレクトリに追加し、そのディレクトリを作成してから、Webサイトディレクトリに設定したのと同じ権限を設定します。それ以外の場合、ファイルをアップロードしてC:\ WINDOWS \ Tempに移動し、それをWebサイトディレクトリに移動すると、そのアクセス許可は正しく設定されません。 ImageMagickの変換ユーティリティのようなものでそのファイルを操作したい場合、これは問題を引き起こします。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top