私の問題は、PHPファイルをインクルードすると、メインのPHPがパスになることです。これは私のサイトですPHPはDOCUMENT_ROOTのないファイルを参照します
:
私はよくそれを記述するので、私はあなたにいくつかのわかりやすいコードを表示させないことができますはlocalhost /個人用サイト/ index.phpを
<?php
include('common/sayHello.php');
?>
そして私は、管理フォルダ
を持っていますはlocalhost /個人用サイト/管理/ index.phpを
そして、私はいくつかの共通のファイル
はlocalhost /個人用サイト/共通/ sayHello.php
<?php
$text = file_get_contents(helloText.txt);
echo($text);
?>
を持っています
ローカルホスト/ mysite/common/helloText.txt
Hey! How you doing?
しかし、動作しません。メインの "mysite/index.php"は "mysite/helloText.txt"を探し、 "mysite/admin/index.php"は "mysite/admin/helloText.txt"を探します。
DOCUMENT_ROOTを使用せずにhelloTextファイルを正しく参照できますか? URLパスを変更せずにファイルをインクルードする方法はありますか?
あなたは、私が「/」の前に「共通/ helloText.txt」を使用する必要があること、言うかもしれないが、それは代わりに、ローカルホスト/個人用サイトのローカルホスト/共通/ helloText.txtを探します/ ...
したがって、 '/ mysite/common/helloText.txt'を使用してください。 – Barmar
フルパスをハードコードしたくない場合は、なぜ 'DOCUMENT_ROOT'を使用しないのですか?これはまさにそのためのものです。 – Barmar
@Barmarしかし、私はウェブ上でもそれを使用したいと思います。最終版(mysite.com/)をアップロードすると、mysite.com/mysite/common ..が検索されます。 –