1

require_once("header.php");私は自分のウェブサイトのすべてのページに使用しています。ただし、そのコードは public_html フォルダーの直下にファイルされたファイルに対してのみ使用できるように感じます。public_html の下のディレクトリ (シャツなど) にある他のファイルのコードを使用するrequire_once("header.php");と、public_html/shirts/example.php のように、header.php が画像、リンク、またはその他のページを正しくロードしません。 .

これを短期的に解決することはわかっています。そのディレクトリ専用の新しいヘッダーを作成し、すべてのコードに ../ を追加できますが、もっと簡単な方法があると思います。ヘッダーを個別に作成する必要がないように、header.php のコードを変更する方法を知っている人はいますか?

ありがとう。

4

1 に答える 1

0

include_pathに追加できます。

header.php がある現在のディレクトリを追加するか、サイトのどこかに includes という名前のフォルダーを作成し、それをインクルード パスに追加します。

php.ini の include_path を更新する (最も簡単) か、次のようにプログラムで行うことができます。

set_include_path(implode(PATH_SEPARATOR, array(
    '/path/to/your/includes',
    get_include_path(),
)));

プログラムによる方法はうまく機能しますが、ほとんどのファイルが共通のスクリプト (フロント コントローラー パターンなど) を介して提供されない限り、そのコードをすべてのファイルにコピーする必要がありますが、これは理想的ではありません。.htaccess を使用して include_path を設定できる場合もありますが、これは PHP が Apache モジュールである場合に限られます。

構造がかなり静的である限り、../ を使用してインクルードしても問題はありません。

于 2011-09-23T00:00:05.900 に答える