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

PHPで指定するディレクトリが書き込めるかチェックをして書き込めない場合は
そのディレクトリのパーミッションを変更(777など)したいと思います。

ディレクトリの書き込みチェックは
$dir="test";
if(!is_writable($dir)){
chmod($dir,0777);
}

としているのですが、さくらのサーバなど777だと駄目な場合があります。(サーバエラーになる)
777が駄目で705だとOKとか、PHP側で自動的に判別する方法はあるのでしょうか?
いちいちサーバに合わせて手動でパーミッション設定するのは面倒なので
何か方法があれば教えて下さい。

●質問者: kt26
●カテゴリ:ウェブ制作
✍キーワード:777 Dir PHP test さくら
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● sasaki30234
●60ポイント

PHPの話と言うよりはUNIX/Linuxの設定の問題ですね。

777でなくても705で良いのなら、最低限の権限のみを許すようにするのが適切です。最低限のパーミッションが設定できないのなら、ソフトの仕様を変えるか、サーバ運営会社に相談すべきです。

したがって、「サーバーによってパーミッションを自動的に設定する」という考え方ではなく、「最低限のパーミッションを決め、そのパーミッションがうまく動くように環境を整える」という考え方が適切ではないかと思います。

上記は情報が少ない中での一般論で本件に当てはまるかどうか分かりませんが、まずこのあたりから検討されてはいかがでしょうか?

◎質問者からの返答

私の解釈では「最低限=どの環境でも一応動く」と認識しているのですが、ディレクトリ内でのデータ書き換えなど、書き込み権さえあれば書き込める(と思う)ので、必ずしも777である必要はないかと思います。

サーバ毎に運営会社を調べて仕様を変えるのは効率的では無いと感じて質問した次第ですが、皆さんのコメントから「環境依存する」と言う事もわかりましたので、そう納得したいと思います。

関連質問


●質問をもっと探す●



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