- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:WindowsでPHPのアップロード系処理を扱うときのディレクトリパー)
WindowsでPHPのアップロード系処理を扱うときのディレクトリパーミッションに注意!
このQ&Aのポイント
- Windows7+Apache2.2.x+PHP3.1でアップロード処理を行ったときに、一時ディレクトリの値を取得できずに移動ができない問題に遭遇しました。
- Webサーバのディレクトリと同じパーミッションを与えることで解決する方法があるようですが、試しても改善しない状況です。
- 具体的な手順をご存知の方がいらっしゃれば、教えていただけると助かります。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
>$_FILES変数から一時ディレクトリの値をとってくることすらできていないようです。 なら、何をmove_uploaded_fileしているのでしょう? php.iniの upload_max_filesize post_max_size そのあたりの関係で、そもそもファイルがアップロードされていないとか。 もしくは、POSTではなくGETで送っているとか。 ※理屈の上ではファイルサイズさえ小さければGETでも構わないのかも知れませんが、現実的ではないでしょう。 $_FILE['hoge']['error'] はチェックしていますか? http://php.net/manual/ja/function.move-uploaded-file.php
補足
$_FILES['hoge']['error']ではエラーが出ていません。 ちなみにLinuxサーバでアップロード先と一時ディレクトリのパーミッションをapacheにしてやってアップロードを行うと問題なく行えるようなコードです。 一応Webに答えらしきものはあって、ディレクトリのパーミッションであることはわかっているのですが、Windowsで管理者権限ユーザで作成したアップロード用ディレクトリのパーミッションをどうしてやればいいのかがつかめていないようです。 これまでひたすらプログラミングをしてきたのはいいのですが、Windowsをサーバにしてこういった処理をするということを意外とやっていなかったもので、Windowsにおけるディレクトリのパーミッションの仕組みをいまいち理解していないというなんとも恥ずかしい話ですwww