プログラム初心者です。
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ランキング
-
PHPでグローバルナビゲーション...
-
1つのcakePHPで複数のサイトを...
-
onedrive にexcelファイルをア...
-
リンク先を隠す方法はないでし...
-
ImageCreate関数が undefined f...
-
libmcrypt の使用について
-
PHPのif文でその処理を途中で抜...
-
ローカル環境でのメール送信
-
ZendFrameworlkでZend_Session...
-
use と requireの違いは?
-
【PHP】tmp_nameの命名規約につ...
-
PHPでファイルアップロードを中...
-
youtubeに音声のみのmp4ファイ...
-
ワードプレスサイト PHP8.0.25...
-
PHPからPerlにデータを渡して結...
-
mb_send_mailを実行するとエラ...
-
phpでうまく画像がダウンロード...
-
PHP ページング データベース
-
URLの変わらないページをPHPで...
-
PHPで文字列(日本語)の比較
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
index.phpに入るには、どうすれ...
-
include時の頭の良いパス指定に...
-
require_onceで読み込む場合、...
-
サイトパスに使用しているURLを...
-
深い階層のフォルダの作成や削...
-
.htaccessファイルの修正がこれ...
-
PHP Linux から Windowsへの移行
-
zendのcontrollersについて
-
phpでページ分けする方法を教え...
-
1つのcakePHPで複数のサイトを...
-
[PHP] 任意のDNSでIPアドレスを...
-
SSLに設置したらディレクトリパ...
-
歴史上の人物や宗教
-
PHPファイルが、そのまま見えて...
-
変数値の渡し
-
mod_rewite?でのリダイレクト...
-
__FILE__をHTMLタグ内で使う
-
ゼンド フレイムワークがどうや...
-
ラミネート加工について
-
万国博覧会
おすすめ情報