- ベストアンサー
includeの仕方について
- includeの方法と注意点について
- ファイルのパス指定に注意が必要
- エラーメッセージの内容を確認してみましょう
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
一応確認ですが、 public_html | index.php +rrr |config.php |main.php という構造でいいですよね? それでしたら、index.phpからどちらもincludeしようとしているので、 config.phpでmain.phpを相対パスで指そうとするとき、 index.phpからの相対パスを指定しなければいけません。 この時、documentrootからでもなく、configからの相対パスでもありませんので注意して下さい。 つまり、 $DIR_hoge= '/public_html/rrr/';は $DIR_hoge= 'rrr/'; となるはずです。 お試しください。
その他の回答 (2)
- yossy-55
- ベストアンサー率55% (5/9)
>セキュリティもこの段階で考えないといけないと言うことでしょうか。 ある程度、システム設計を考えてやっておかないと、後からの 手戻りが大量に発生する事があります。 もちろん、予期しないセキュリティホールも発生する恐れが大きくなります。 そういった意味でもある程度、早い段階からシステム設計をきっちりやられる事をお勧めします。 それから、相対パスの書き方ですが、A.phpという所からB.phpというファイルをincludeし、B.phpからさらにC.phpをインクルードする場合、 B.phpからC.phpへの相対パスはA.phpからの相対パスである事を考えて $DIR_hoge= 'rrr/'; のどこに間違いがあるか考えてみて下さい。 前にも書きましたが、B.phpからC.phpへの相対パスではありません。 答えを書くのは簡単ですが、あれこれやってみる事が、技術向上につながります。 がんばってください。 それでも分からないようでしたら、再度質問して下さい。
補足
色々教えてくださりありがとうございました。 ちょっと甘えすぎました・・。 少し自力でがんばってみたいと思います。
- yossy-55
- ベストアンサー率55% (5/9)
>index.phpの位置はもう一段上のhtdocsに置くのと >どちらが良いやり方なのでしょうか? ドキュメントルートの設定はどうされてますか? htdocsであれば、今の配置ですと、ドキュメントルートにアクセス されると、構成が全て見られてしまいます(設定によりますが...) rawgunsさんが、作ろうとしているシステムによりますので、 どちらが正解、またはどちらがよいやり方というのは一概には 言えません。 全体的なシステム構成を考えて(システム設計を綿密にやられて) 最適と思われる構成配置を考えてみて下さい。
お礼
まだサイト公開まではほど遠いので、安心かと思いhtdocs以下に作っていました。 セキュリティもこの段階で考えないといけないと言うことでしょうか。 勉強が足りないみたいですいません。 もう一つだけ聞きたいのですが、 -index.php ーyyyフォルダ(index.php) -rrrフォルダ(config.php,main.php) みたいにもう一つ下層にyyyフォルダ(index.php)を作ったのですけれど、応用ができませんでした。 yyyフォルダ(index.php) <?php $CONF['id'] =2; include('../rrr/config.php'); include($DIR_hoge."main.php"); ?> こう書いたのですが、やはり4行目でエラーが出てしまいます。 色々記号を足したりしたのですが、どうにもうまくいきません。 たびたびすいませんが、よろしくおねがいします。
お礼
ありがとうございました。 見事に繋ぐことができましたので先に進めそうです。 所で、index.phpの位置はもう一段上のhtdocsに置くのと どちらが良いやり方なのでしょうか?