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で質問しましょう!
似たような質問が見つかりました
- PHP アップロード画像数でCSSを分けることに成功したのですが、画像の横に文字を並べることが出来ません。 3 2023/07/28 17:16
- PHP ランキングを表示する際の画像の大きさを固定することは可能でしょうか? <?php if ( has_ 1 2022/07/21 14:55
- HTML・CSS CSSが効かずどのように指定すれば良いか分からないのでアドバイスお願い致します 2 2023/06/07 12:25
- PHP アップロードファイルの数に応じてCSSを動的に変更したいのですが、方法がわかりません 3 2023/07/23 21:59
- PHP PHP ページング データベース 1 2022/06/16 10:30
- PHP PHP MySql ページング 2 2022/09/20 06:38
- その他(プログラミング・Web制作) .htaccessファイルの修正がこれで問題ないかどうか 1 2022/04/21 08:42
- PHP WordpressのPHPを安全に編集する方法 1 2022/08/04 01:43
- PHP 「teratail」での回答内容がいまいちわかりません。 1 2022/09/10 05:05
- JavaScript clear機能を失わずにファイルアップロード機能を作成したい 3 2023/06/10 16:12
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PHP Linux から Windowsへの移行
-
動的ページで全ての情報を検索...
-
PHPファイルが、そのまま見えて...
-
zendのcontrollersについて
-
携帯からも編集できるwiki的な...
-
pukiwiki設置の際に表示された...
-
onedrive にexcelファイルをア...
-
フォントの色を変えるには?
-
別ファイルの変数を呼び出した...
-
PHPのif文でその処理を途中で抜...
-
CFileDialogの最初のディレクト...
-
.phpと.incファイルの違いはな...
-
「警告:ページの有効期限切れ...
-
「@$変数」の「@の意味は?」
-
リンク先を隠す方法はないでし...
-
2つの画像ファイルが異なるファ...
-
現在位置より2つ上のディレク...
-
Subversionのリポジトリの削除
-
VB6にてメールを送信する方法
-
パースエラーとは?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
[PHP] 任意のDNSでIPアドレスを...
-
wordpressのルートのindex.php...
-
すべてのページのurlをindex.ph...
-
PHP/icludeを使った相対パスの...
-
require_onceで読み込む場合、...
-
.htaccessファイルの修正がこれ...
-
CakePHPの表示エラーについて
-
phpによる携帯振り分けとSEOの...
-
歴史上の人物や宗教
-
PHPでグローバルナビゲーション...
-
PEARを使ったメール送信でのinc...
-
相対パスの挙動を理解できない
-
ゼンド フレイムワークがどうや...
-
phpで24時間おきに任意のテキス...
-
$_GET 取得できない
-
モバイルとPC にエージェン...
-
特定のディレクトリだけ、phpを...
-
深い階層のフォルダの作成や削...
-
smartyで同じテンプレートを使...
-
ApacheのRewrite
おすすめ情報