-2

PHPプログラマー!

PHP のインクルード関数に問題があります。

左の列バーを含む Web サイトがあり、その列には相対パスを使用してインクルード関数で取得した動的コンテンツが含まれています。これは、インクルード関数では絶対パスを使用できないためです。

他のフォルダー内の他のファイルに移動すると、次のエラーが表示されます: include(folder/fileToBeIncluded.php) [function.include]: failed to open stream: No such file or directory in /home/mywebsite/public_html/thissite/folder/ 3 行目の subfolder/leftcolumn.php

私はそれにどう対処するつもりですか?私は完全に道に迷っており、Google と StackOverflow を約 10 分間検索しています。

ありがとうございました!

4

2 に答える 2

1

includeステートメントでは絶対パスを使用できます。

試す:

include $_SERVER['DOCUMENT_ROOT'] . '/folder/fileToBeIncluded.php';
// or
include dirname(__FILE__) . '/../fileToBeIncluded.php'; // relative to the path of the file doing the include

少なくとも、パスをハードコーディングして絶対に確実にすることができます (サイトを別の場所に移動するまで):

include '/home/yoursite/public_html/folder/fileToInclude.php';

includeドキュメントを参照してください。

于 2012-08-01T18:20:59.330 に答える
0

専用の「includes」フォルダを作成することをお勧めしますか?何かのようなもの:

/home/mywebsite/includes

php.iniでは、次を追加する必要があります。

include_path = "/home/mywebsite/includes/"

/home/mywebsite/includesそうすれば、インクルードへのすべての呼び出しは、処理中の現在のページの場所に関連してファイルを探す前に、必要なファイルをチェックします。

于 2012-08-01T18:25:57.067 に答える