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ランキング
-
index.phpに入るには、どうすれ...
-
onedrive にexcelファイルをア...
-
phpでPEAR::DBを使っているので...
-
フォントの色を変えるには?
-
php5-extensions を make でき...
-
PHPのみでの背景色は指定できる...
-
リンク先を隠す方法はないでし...
-
index.phpって何ですか? 具体...
-
トランザクションが原因?DBに...
-
CFileDialogの最初のディレクト...
-
2つの画像ファイルが異なるファ...
-
バッチを用いたフォルダの自動移動
-
パースエラーとは?
-
PHPで新しいウインドウで開く命...
-
mysql複数レコードをまとめて削...
-
フォームで戻った際に入力済み...
-
FTPコマンドでディレクトリごと...
-
これは例外処理でしょうか?
-
PHPのif文でその処理を途中で抜...
-
透過PNGが透過されない!!
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
.htaccessファイルの修正がこれ...
-
Zend Frameworkでoracle接続
-
PHPファイルが、そのまま見えて...
-
深い階層のフォルダの作成や削...
-
zendのcontrollersについて
-
pearライブラリのインクルード...
-
ロリポップでSmartyのtpl読み込...
-
Ethnaの設定について
-
wordpressのルートのindex.php...
-
[PHP] 任意のDNSでIPアドレスを...
-
$_GET 取得できない
-
ゼンド フレイムワークがどうや...
-
pukiwiki設置の際に表示された...
-
Webアプリにおけるエントリポイ...
-
__FILE__をHTMLタグ内で使う
-
ZendFramework 環境設定
-
include時の頭の良いパス指定に...
-
mod_rewriteについて
-
include_pathに関する質問
-
CakePHPの表示エラーについて
おすすめ情報