問題は非常に単純です..そう思われるでしょう。
エラー:
警告: include(includes/navigation.php): ストリームを開けませんでした: No such file or directory in C:\xampp\htdocs\sub_page\about.php on line 27
警告: include(): C:\xampp\htdocs\sub_page\about.php の 27 行目に含めるために 'includes/navigation.php' を開くことができませんでした (include_path='.;C:\xampp\php\PEAR')
サイトを作り直しています。現在、私はそれをPHPに接合しています。同じように、私も方法を行っています。今回を除いて、私はそれをより構造化しています。私のコードの例。
<!-- Start Navigation -->
<?php include 'includes/navigation.php'; ?>
<!-- End Navigation -->
<!-- Start Top Menu -->
<?php include 'includes/top_menu.php'; ?>
<!-- End Top Menu -->
<!-- Start Promo Menu -->
<?php include 'includes/pro_menu.php'; ?>
<!-- End Promo Menu -->
したがって、ファイル ナビゲーションがルートにある include フォルダーにあるようにします。上記のコードが「1」ではなく「2」レベルのサービスページにあるとしましょう。通常、私はディレクトリの「1」レベルしか持っていないので、単純に変更します
<?php include 'includes/navigation.php'; ?>
これに
<?php include '../includes/navigation.php'; ?>
うまくいきました。
上記のコードは、次のサービス ページにあります。
/sub_page/services/services.php
services.phpファイルを上記のディレクトリパスからルートに近い1レベルに移動した場合
/sub_page/services.php
インクルードのパスを次のように変更します
<?php include '../includes/navigation.php'; ?>
それは正常に動作します。どこからでもファイルを呼び出せるようにする必要があります。誰もこれを行う方法を知っていますか? ありがとう!
編集:例として以下を使用します。この行でパスエラーを引っ張っていました
<?php include 'sub_page/about_us/includes/meta.php'; ?>
代わりに以下を使用できました
<?php include __DIR__ . "/includes/meta.php"; ?>
それを修正します。ただし、パスからディレクトリレベルを追加または削除しようとすると、再びエラーが返されます。同じことは、他の行/パスでは機能しません。
前
<?php include 'includes/navigation.php'; ?>
後
<?php include __DIR__ . "/navigation.php"; ?>
何か案が?