PHPのインクルード相対パス
2023-09-30 17:22:10
質問
私は、/root/update/test.phpというファイルを持っています。また、/root/connect.phpというファイルもあります。このファイルには、以下の行があります。
include "../config.php";
/root/update/test.phpの中に。というコードがあります。
set_include_path(".:/root");
include "connect.php";
/root/update/test.phpを実行すると、connect.phpは見つかりますが、config.phpが見つからず、以下のような結果になります。
PHP Warning: include(../config.php): failed to open stream: No such file or directory in /root/connect.php on line 2
PHP Warning: include(): Failed opening '../config.php' for inclusion (include_path='.:/root')
これは、警告が、私がすべてを正しく行っているように見えるので、私には混乱しています - インクルードパスは /root で、それは存在するファイル ../config.php (/config.php) を捜しています。どなたか、これを解決していただけませんか?絶対パスを使用することは、私がアクセスできない本番サーバーにデプロイするため、私のためのオプションではないことに注意してください。
Ubuntu/Apache
どのように解決するのですか?
を使用して常にそれを含めることができます。
__DIR__
:
include(dirname(__DIR__).'/config.php');
__DIR__
は、'
魔法定数
' で、現在のファイルのディレクトリを、末尾のスラッシュを除いた形で返します。これは実際には絶対パスで、ファイル名を連結して
__DIR__
. この場合、ディレクトリを昇順にする必要があるため、PHP の
dirname
を使用します。これはファイルツリーを上昇させ、ここから
config.php
.
このメソッドでルートパスを設定することもできます。
define('ROOT_PATH', dirname(__DIR__) . '/');
を実行すると、ルートが
/root/
レベルに設定します。
include(ROOT_PATH.'config.php');
これで、設定ファイルを好きなところから取り込むことができるはずです。
関連
-
[解決済み】変な電話番号を生成するフェイカー?
-
[解決済み】Xampp ローカルホスト/ダッシュボード
-
[解決済み】Laravel 5.2 Storage::makeDirectory($dir) でディレクトリが作成されない。
-
[解決済み] 警告:mysqli_fetch_array()は、パラメータ1がmysqli_resultであることを期待する、オブジェクトはで指定された。
-
[解決済み】chromeの「net : Failed to load resource: net::ERR_SPDY_PROTOCOL_ERROR" は何がおかしいのか?
-
[解決済み] PHPで配列から要素を削除する
-
[解決済み] PHPでSQLインジェクションを防ぐにはどうしたらいいですか?
-
[解決済み] PHPでHTML/XMLをパースして処理する方法とは?
-
[解決済み】PHPの'foreach'は実際どのように動作するのですか?
-
[解決済み] リファレンス - このシンボルはPHPで何を意味するのですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】接続の取得に失敗しました: php_network_getaddresses: getaddrinfo failed: 名前またはサービスが不明
-
[解決済み】Fatal error: 未定義の関数 sqlsrv_connect() を呼び出した。
-
[解決済み】phpのob_start()の使い道は?
-
[解決済み】空の配列要素を削除する
-
[解決済み】foreach()に与えられた引数が無効です。)
-
[解決済み】file_get_contents( )が動作しない。
-
[解決済み】/var/www/htmlとは何ですか?[クローズド]
-
[解決済み] Uncaught Error: 未定義の関数 mysql_escape_string() の呼び出し。
-
[解決済み] PHP product.php?id=1 のような URL を作成する方法
-
[解決済み] libapache2-mod-php7 パッケージの場所がわからない