1

クライアントはサーバーを移行しました。サーバー アドレスは同じですが、内部フォルダー構造が変更されました。ファイルへのサーバー パスを必要とする PHP 関数を使用していました。

たとえば、Web サイトのアドレスは www.example.com/file.php で、関数は次のようなパスを使用しています。

require_once('/var/www/file.php');

調べる方法はありますか?

4

2 に答える 2

10

これはGoogleでの最初のヒットであり、受け入れられた回答は質問の精神に従って不完全であるため、ここに完全な回答があります.


__FILE__ジョン・コンデが言ったように魔法の定数ですが、実行中の現在のPHPファイルの物理パスしか提供しません。

__DIR__現在実行中のファイルのディレクトリを取得します。または、次を使用することもできますdirname(__FILE__)

$_SERVER['DOCUMENT_ROOT']Web ルートへの物理パスを取得します。/var/www/example.com/httpdocs

たとえば、Web サイトのフォルダー構造が次のようになっているとします。

|-foo
|  |-bar
|     |-executing.php
|-biz
   |-required.php

executing.phpが現在実行されていて、含めたいファイルであるとしましょうrequired.php。いくつかのオプションがあります。

//relative to the file
require __DIR__ . "/../../biz/required.php";
require dirname(__FILE__) . "/../../biz/required.php";

//relative to the web root
require $_SERVER['DOCUMENT_ROOT'] . "/biz/required.php";

もちろん、これらの例のいずれでも、require_once代わりに を使用することもできますrequire

于 2014-07-18T21:28:39.913 に答える
2

魔法定数を使う__FILE__

于 2012-05-29T18:39:37.217 に答える