人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

phpについて

あるphpを作りました。
フォームからファイルをアップするタイプの物です。

これを2つ同一サーバ内に設置したのですが
一つは正常に動きますが、一つは正常に動きません。
ファイルがアップできない状態です。
ファイルサイズがほぼ0に近いファイルでもアップできません。

下記のようにしているのですが、aでは正常で、bではエラーになります。
原因と対策を教えてください。

エラーメッセージはこちらです。
Warning: move_uploaded_file(./xxx.txt): failed to open stream: Permission denied in /xxx/hoge/b/index.php on line 123
Warning: move_uploaded_file(): Unable to move '/tmp/abcde' to './xxx.txt' in /xxx/hoge/b/index.php on line 123

ファイルはそれぞれ、a、b、の直下にアップしようとしています。
a、bのパーミッションは705にしています。

/hoge/a/index.php
/hoge/a/
/hoge/b/index.php
/hoge/b/

よろしくお願いします。


●質問者: web2009
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:hoge INDEX MOVE ON open
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● isogo45
●60ポイント

サーバーの設定(apacheなど)によっても異なるとは思いますが、ファイルを保管するディレクトリーのパーミッションを707あるいは777にしてみてください。

ファイルを保管できない場合の多くはディレクトリーのオーナー(ユーザー)、あるいはパーミッション関係のトラブルです。

aとbで異なる理由はこれだけの情報ではわかりませんがディレクトリーの属性が同じで「Permission denied」ということは、一番可能性があるのはディレクトリーの所有者(オーナー、ユーザー)が異なっている可能性が考えられます。

ところで、ファイルのアップロード保管場所とプログラムなどは同じディレクトリーにしないほうがよいと思います。何がアップされるかわからないしアップされたものがweb上で実行されることになってしまうと非常にまずいことが起こると思います。

◎質問者からの返答

> 707 or 777

そうですよね。

そう思ってそうしたのですが、同じディレクトリに index.php が置いてあり、

707 or 777 にするとこの index.php が動かなくなってしまうんです。

> ファイルのアップロード保管場所とプログラムなどは同じディレクトリーにしないほうがよいと思います。

そうですよね。

今回のこれは管理者用なので良いかなと思いましてそうしたのですが...

やはりそれでも別にするべきなのでしょうか。

> 多くはディレクトリーのオーナー(ユーザー)、あるいはパーミッション関係のトラブル

私もそうは思っているのですが.....

いま試すことができないので明日確認します。

ありがとうございました。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ