プログラム初心者です。
includeやrequireなどの関数を使ってファイルを呼び込むために、下記のようなソースを作りましたが、Fatalエラーになってしまいます。どこがいけないのかご指摘をいただけないでしょうか?
ネットでこれらの関数の扱い方について検索しますと、PHPでは実行されたファイルのディレクトリがルートとして扱われるそうで、他のディレクトリを参照する時は、相対パスのみでは無理の様子でした。この場合、組込み定数となる__FILE__を使って絶対パスを導かなければいけないような記述がありました。これに習って書いてみたのですが、どうもうまくいきませんのでご指導をいただければと思います。
■以下、ツリー構造
root
|_con ←フォルダ階層
| |_nav.php ←ファイル階層
|_mod
| |_nav.csv
|_view
|_index.php
■以下、phpファイル群
/////// nav.php //////////
<?php
$Data=file (dirname(__FILE__)."/../mod/nav.csv");
for($i=0;$i<sizeof($Data);$i++){
$line=explode(",",$DataN[$i]);
?>
/////// index.php ////////
<?php
include once (dirname(__FILE__). "/../con/nav.php");
?>
No.1ベストアンサー
- 回答日時:
nav.php
まず、for文の閉じ}が無い事
絶対パスでも動くし、相対パスでも動きますよ
file文は関数なので、スペース開けないように(まぁ、あけても動くけど)
$Data=file("../mod/nav.csv");
for($i=0;$i<sizeof($Data);$i++){
$line=explode(",",$DataN[$i]);
}
index.php
パスの指定の仕方がおかしい。
include onceの文法がおかしい。include onceではなく include_once です。
同じく スペースあけないように
include_once("con/nav.php");
この回答への補足
今、相対パスで実行することができ、初歩的な間違いに気づくことができました。有難うございます。
もう少し理解を深めたいので、質問しても良いでしょうか?
1)相対パスに使う、ドットは、実態のツリー階層の数と合わせる必要がありますか?
2)includeは、多段構造となっても実現可能でしょうか?多段といいますのは、a.php ← b.php ← c.phpといった具合に取り込むことです。
もし、お分かりでしたら、教えてください。よろしくお願いいたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP 値の取り出し方について教えて下さい。 1 2023/03/31 13:30
- その他(プログラミング・Web制作) 図に示す階層構造で,現在のディレクトリ(カレントディレクトリという)が*印のディレクトリであるとき, 2 2022/11/16 10:55
- WordPress(ワードプレス) wordpressでphpを読み込みたい 1 2022/10/30 23:40
- その他(コンピューター・テクノロジー) <a href="file:///フォルダ名/ファイル名">リンクテキスト</a>について 1 2023/04/06 22:40
- PHP アップロード画像数でCSSを分けることに成功したのですが、画像の横に文字を並べることが出来ません。 3 2023/07/28 17:16
- Windows 10 指定したファイルを任意の範囲のディレクトリ内に上書き保存したい 1 2022/11/24 10:42
- HTML・CSS CSSが効かずどのように指定すれば良いか分からないのでアドバイスお願い致します 2 2023/06/07 12:25
- PHP アップロードファイルの数に応じてCSSを動的に変更したいのですが、方法がわかりません 3 2023/07/23 21:59
- PHP 掲示板を作成しておりアップロードファイルとメッセージを並べたいので、アドバイスお願い致します 2 2023/07/17 21:01
- PHP どうして送信されないのでしょうか? 1 2022/12/09 05:23
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
__FILE__をHTMLタグ内で使う
-
OkwebとOKWeveって一緒ですか?
-
フォントの色を変えるには?
-
PHPの設定で、 エラーが発生し...
-
onedrive にexcelファイルをア...
-
Linux:PHPでTELNETによるSMTP...
-
ListViewコントロールでサムネ...
-
ボタンのクリック数を合計保存...
-
ワードプレス、Contact Form 7...
-
PHPのif文でその処理を途中で抜...
-
現在位置より2つ上のディレク...
-
別ファイルの変数を呼び出した...
-
【file_exists】ファイルが存在...
-
UWSCでファイルのアップロード...
-
PHPExcel処理速度が遅い
-
PHPで`headers already sent`と...
-
【PHP】declare命令で”Fatal er...
-
PHP8を使うと、大量のWarningが...
-
mysql_close()
-
aws cloud9というものを使って...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
index.phpに入るには、どうすれ...
-
.htaccessファイルの修正がこれ...
-
PHPでグローバルナビゲーション...
-
CakePHPの表示エラーについて
-
深い階層のフォルダの作成や削...
-
特定のディレクトリだけ、phpを...
-
PHP Linux から Windowsへの移行
-
zendのcontrollersについて
-
SSLに設置したらディレクトリパ...
-
すべてのページのurlをindex.ph...
-
include_pathに関する質問
-
require_onceで読み込む場合、...
-
相対パスでrequireはできないの...
-
[PHP] 任意のDNSでIPアドレスを...
-
さくらにsmartyをセットアップする
-
$_GET 取得できない
-
世界人口白書って何ですか?
-
include時の頭の良いパス指定に...
-
値の引継ぎについて
-
万国博覧会
おすすめ情報