- ベストアンサー
phpでincludeをするときのパスについて
phpでincludeをするときのパスについて <?php include "/home/a.php"; . . . ?> のようにして、ルートディレクトリのファイルにアクセスしたいのですが、 /が先端にあるとファイルにアクセスできないのです。 どのようにしたらルートディレクトリのファイルをincludeできるのでしょうか
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
ルートのフルパスを echo $_SERVER['DOCUMENT_ROOT']; で確認して見て下さい。 あなたのルートは/でないかも... あるいはa.phpの中に echo getcwd(); として実行させて、フルパスを確認してみる。
その他の回答 (3)
- php504
- ベストアンサー率42% (926/2160)
回答No.3
エラーの種類が解決の材料になりますのでエラー表示をそのまま書かれると適切な回答もしやすいです パーミッションがないのかファイルが見つからないのか
- ejejking04
- ベストアンサー率36% (7/19)
回答No.2
文章がわかりにくいんですが、階層が変わるとincludeできないってことでしょか。 だったら相対パスではなく絶対パスで指定してやればいいかと。
質問者
お礼
ローカルホスト上でも動かしたいので相対パスにしようとしました。 $_SERVER["DOCUMENT_ROOT"]を使うとうまくいきました。 ありがとうございました
- php504
- ベストアンサー率42% (926/2160)
回答No.1
ルートディレクトリにアクセスしたいのかhomeディレクトリにアクセスしたいのかどちらでしょうか いずれにしてもディレクトリのアクセス権限とファイルの読み出し権限がないとどうしようもないです
お礼
include $_SERVER["DOCUMENT_ROOT"]."/home/a.php"; としてみたらうまくいきました。 ありがとうございます。