異なるフォルダーの異なる場所にある PHP ファイルを含める方法
P粉447002127
2023-08-22 00:21:10
<p>私のサイトの大部分はルート ディレクトリにあります。このディレクトリには、「css」、「functions」、「images」フォルダーがあります。 php ファイルをindex.phpまたは他のルートファイルに含めると、すべてが正常に動作します。含まれており、正しく実行されます。 </p>
<p>しかし、「blog」というフォルダーを作成するときに問題が発生します。これは、CMS と独自の「ルート」ファイルを含む、まったく新しい別のルート フォルダーです。メインルートから css を含めたり、メインルートの「functions」フォルダーから php ファイルを含めようとすると、すべてがクラッシュします。 <code>../functions/myfile.com</code> を使用してインクルードする必要があることはわかっています。ただし、このファイルには他のファイルも含まれているため、機能せず、他のファイルが正しくインクルードされません。 </p>
<p>この問題を解決する方法はありますか? </p>
私の理解が正しければ、フォルダーが 2 つあり、1 つは
include
をもう 1 つのフォルダーに含めたい php スクリプトの場所です。この場合は、パスを正しくたどるだけで済みます。 フォルダー構造が次のようになっていると仮定します:
リーリーこれがあなたが思いついたフォルダー構造で、「Script.php」ファイルを「index.php」フォルダーに含めたい場合は、次のように含める必要があります:
リーリー私のやり方は視覚的にです。 (ファイル構造を確認するために)index.php の上にマウス ポインターを置き、フォルダーを 1 つ上に移動するたびに、「../」をさらに入力します。次に、開始したいフォルダーの上のフォルダー構造に移動することを確認する必要があります。その後は通常のフォルダー階層になります。
$_SERVER['DOCUMENT_ROOT']
を使用して、各サイト内から ルート ディレクトリ にアクセスできます。 テストのために、パスを出力して、正しく動作しているかどうかを確認できます。 正しい方法で実行しているかどうか。 ローカル サーバーのパスは絶対に表示したくないでしょう (例: contains や requires )。サイト 1
リーリーサイト 1 に含まれるファイルは次の場所にあるはずです:
リーリーサイト 2
リーリーサイト 2 から サイト 1 のインクルード ファイルにアクセスするための実際のコード :
リーリードキュメント ルート
およびroot
スラッシュを除外してファイルにアクセスしようとすると、クエリが実行されるファイルの相対 パス のみがアクセスされます。使用できます (絶対的な信頼性または非プラットフォーム固有ではありません):含まれるパスは、サイトのフロントエンド (オンライン) のコードには存在しないため、 運用環境でのみ安全に使用する必要があります 。
さらに、サイト自体の URL については、ドメイン名を基準とした相対 URL にすることができます。ブラウザは、どのページを見ているかを知っているため、残りを自動的に埋めます。したがって、次のようなものは使用しないでください:
リーリー代わりに次を使用してください:
リーリー優れた SEO を実現するには、ブログの URL が別のドメインに存在しないようにする必要があります。存在しないと、重複サイトとしてマークされる可能性があります。この場合、robots.txt
リーリーファイルに
サイト 1 に限定される行を追加することもできます:その他の可能性:
IP アドレスを見つけて 、次のコード スニペットを含めます:
リーリーISP が IP を変更した場合 (たとえば DCHP 動的 IP を使用している場合)、結果を確認するにはこのファイル内の IP を変更する必要があることに注意してください。 that ファイルをインクルード ファイルに入れて、デバッグ ページでそれを要求することをお勧めします。
ブラウザの コンソール ログ などの最新の方法にアクセスできる場合は、次のコードを使用して、ブラウザのデバッグ インターフェイスで表示できます。 リーリー