PHP5+Apatch2でプログラムを作成しています。
Apatch,PHP共に初心者です。
-----------------------------------------------------
index.php[1]
|
PHPフォルダ[1]- CLASSフォルダ[2a]- class.php[3a]
| |
| phpfile.php[2a]
|
LIBフォルダ[1]- lib.php[2b]
-------------------------------------------
*[]内は同じ番号のものが同じ階層を表すとします。
*apatchのドキュメントルートは[1]の一つ上になっています。
とプログラムを作成して、class.php[3a]の中で
require_once("../phpfile.php[2a]");を
行った場合、
No such file or directoryのエラーが発生します。
かわりにrequire_once("../PHP/phpfile.php[2a]");と
置き換えた場合は動作します。
相対パス"../"は一つ上の階層に上がると理解していたのですが、
二つ上にある階層へと移動しているように思います。
気になったので、lib.php[2b]から<a href="../index.php[1]">aaa</a>
を表示させてみたところ、上手くindex.php[1]へリンクを貼れます。
apatchの設定、PHP5がおかしい、HTMLがおかしい、誤解している等、
初心者なりに予測されるものが多いので手が付かなくなっています。
原因と思われるものがあればどうかご指摘ください。
よろしくお願いします。
No.2ベストアンサー
- 回答日時:
まずは カレントディレクトリを調べては?
<?php
//カレントディレクトリの絶対パスを表示
print getcwd();
?>
試しに 手元の Apache/2.2.3 (Unix) DAV/2 PHP/4.4.7 mod_ssl/2.2.3 OpenSSL/0.9.7l
で
require_once("../ひとつ上の階層にあるphpファイル");
して問題なく動作しました。
#1さんも匂わせてますけど
例えば、質問者さんの構成でPHPフォルダにあるphpファイルから
class.php[3a]をrequireして
そのclass.php[3a]のなかでrequireする場合は
カレントディレクトリは PHP/CLASS/ではなく
PHP/のままの筈です
http://code.nanigac.com/source/view/303
ありがとうございます。
umasikajiroさんのご丁寧な解説で解決しました。
以前にも同じことで躓いて、その時は解決したのですが、
なぜか今回は混乱したままでした。
getcwd();はこういった相対パスを考える場合に使いやすい関数ですね。
勉強になりました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
require_onceで読み込む場合、...
-
フリーペーパーR25が置いて...
-
【初歩?】functionの使い方
-
ファイルの遷移がうまく行われ...
-
サイトパスに使用しているURLを...
-
PHPのif文でその処理を途中で抜...
-
.phpと.incファイルの違いはな...
-
CSV出力にHTMLが入ってしまう
-
FTPコマンドでディレクトリごと...
-
PHPでネットワークドライブのop...
-
onedrive にexcelファイルをア...
-
MkDir関数
-
phpの中でphpを書けないか
-
【file_exists】ファイルが存在...
-
バッチを用いたフォルダの自動移動
-
MAPI コンポーネントを使ったメ...
-
トランザクションが原因?DBに...
-
webroot以外の画像の表示
-
Cronで同じ処理を複数同時に実...
-
php で C言語のdefineマクロの...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ZendFramework 環境設定
-
ロリポップでSmartyのtpl読み込...
-
CakePHPの表示エラーについて
-
【初歩?】functionの使い方
-
require_onceで読み込む場合、...
-
pearライブラリのインクルード...
-
ブラウザに表示させたフォルダ...
-
(初級)require等で共通ファイ...
-
PHP Linux から Windowsへの移行
-
Ethnaの設定について
-
特定のディレクトリだけ、phpを...
-
<FORM action="./" ついて
-
ファイルのパスについて
-
__FILE__をHTMLタグ内で使う
-
ゼンド フレイムワークがどうや...
-
ラミネート加工について
-
index.phpに入るには、どうすれ...
-
相対パスでrequireはできないの...
-
[PHP] 任意のDNSでIPアドレスを...
-
PHPファイルが、そのまま見えて...
おすすめ情報