0

次のように、PHP と相対パスを使用してモジュラー Web デザインをテストしています。

<?php include('top.php'); ?>
<?php include('header.php'); ?>
    <!-- Page content -->
<?php include('footer.php'); ?>

そのため、新しいページの構造を簡単に作成できます。

top.phpのように、相対パスを使用してスタイルシートとスクリプトをリンクします。

<link type="text/css" rel="stylesheet" href="css/style.css" />

しかし、子ディレクトリのページで同じページ構造を使用したい場合は問題になります。top.phpheader.php、およびfooter.phpは常に同じです。子ディレクトリでは、たとえば次を使用します。

<?php include('../top.php'); ?>
<?php include('../header.php'); ?>
    <!-- Page content -->
<?php include('../footer.php'); ?>

しかし、リンクの相対パス (インクルード内) のため、これは間違っています。インクルード内のリンクを正しく記述して、子ディレクトリで問題なく使用するにはどうすればよいですか?

形式の絶対パスを使用できることはわかっていますが、 URL はまだhttp://www.site.com/path/fileわかりません。www.site.comドメインに関係なくPHPに絶対パスを作成させるにはどうすればよいですか?

どうすればこれを正しく行うことができますか?

スペルが間違っていて申し訳ありません。私は英語のネイティブ スピーカーではありません。

4

1 に答える 1

1

__DIR__他のファイルを含むファイルの場所を指す定数を使用する必要があります。次に、含めようとしているファイルへの相対 (!) パスを使用します。このような:

require_once(__DIR__ . '/../include.php');
于 2013-06-03T01:22:40.787 に答える