PHP内で現在実行されているファイルのフルパスを取得しようとしています。
realpath()
スクリプトファイル名なしのパスを返します。
pathinfo()
分解するためのパス全体を渡さずに使用することはできません。
__FILE__
呼び出し元のファイルのパス(つまり、__FILE__
定数が呼び出された場所)を取得します。これは、included file
;内にある可能性があります。欲しくない。
$_SERVER
変数&はフルパスを返しませんREQUEST_URI
。SCRIPT_NAME
PHP_SELF
最も有望なのは、警告以外の$_SERVER
変数です。SCRIPT_FILENAME
スクリプトがCLIを使用して、file.phpや../file.phpなどの相対パスとして実行される場合、$ _SERVER['SCRIPT_FILENAME']にはユーザーが指定した相対パスが含まれます。
$_SERVER['SCRIPT_FILENAME']
などのリターンを正確に知りたいのです/home/site/public_html/index.php
が、それを使用してもすべてのインスタンスで安全に使用できるかどうかは100%わかりません。
後者は使用するのに最適な方法ですか?CLIとは別に、通常のWebリクエストに対して常に正しいパスを返しますか?