ファイルをアップロードして、指定されたディレクトリに移動できるようにするスクリプトを実装しようとしています。これは、Windows サーバーと IIS で実行されています。そうすることで2つの問題があります。
まず、ファイルを移動しようとするとエラーが発生します。
Warning: move_uploaded_file(reports/ff.jpg) [function.move-uploaded-file]: failed to open stream: Permission denied in C:\inetpub\wwwroot\betterinsight\betterinsight\upload_file.php on line 29
Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move 'C:\Windows\Temp\php1EAB.tmp' to 'reports/ff.jpg' in C:\inetpub\wwwroot\betterinsight\betterinsight\upload_file.php on line 29
Stored in: reports/ff.jpg
検索すると、ほとんどすべてが許可の問題だと言っています。IIS_IUSRS というユーザーに完全な権限を追加しました (後で削減します)。あるサイトが推奨するように、親ディレクトリに対しても実行しました。
2番目: 上記の問題の可能な解決策として、ファイルを保存するディレクトリを変更してみました。ただし、ファイルは引き続きC:\windows\tempにアップロードされます。
phpinfo を実行したところ、アップロードは ( upload_tmp_dirで定義されているように)にある必要があると表示されます。
繰り返しますが、これは Windows Server 2008 上にあります。ありがとうございます。