3

さて、私のウェブサイトには、mysqlサーバーに接続するphpファイルを含むスクリプトフォルダーがあるため、データベースを移動すると、データベースに接続されているすべてのファイルで変更されます。

テンプレートという別のフォルダーもあります。そのフォルダーには、ヘッダーとフッターのトップがあります。私が書いたヘッダーテンプレートで:

require("../scripts/connect.php");

そして、カテゴリという別のフォルダーがあります。そして、そのフォルダーにはヘッダーが含まれており、ヘッダーには接続が含まれています。しかし、その後、そのようなファイルが存在しないというエラーが表示されます。

助けてください。ありがとうございました

4

2 に答える 2

12

実行中のすべてのphpファイルにメイン構成を含めることをお勧めします。通常はconfig.phpと呼ばれます:)

この構成ファイルで、SITE_ROOTという定数、またはこのような正確なフォルダーを指す類似のものを作成します define("SITE_ROOT", "/var/www/mysite");

次に、任意のインクルードで、include_once、require、require_onceを次のように使用します。

require(SITE_ROOT."/scripts/connect.php");

これは、相対的なパスドラマを解決する必要があります

于 2012-09-06T09:39:40.987 に答える
2

include / requireで相対パスを使用するべきではありませんが、WebサイトのROOT_PATHを定義する定数を使用してください。

例:必要な呼び出しには、次のものが含まれます。

define(ROOT_PATH, '../');

include ROOT_PATH . '/scripts/connect.php';

また、/scripts/connect.php(およびどこかにインクルードされる他のすべてのファイル)では、すべてのインクルードは(定義せずに)ROOT_PATHを使用する必要があります。

于 2012-09-06T09:38:53.953 に答える