この前、PHPのなんだかんだで必要になったので書いた。とりあえずメモ。
ソース
//ファイル名から絶対パスを取得 function getUrl($path){ return substr($_SERVER['PHP_SELF'], 0, strrpos($_SERVER['PHP_SELF'], "/") + 1) . $path; }
解説
$_SERVER['PHP_SELF']
これは、このスクリプトファイルの絶対パスが取得できるスーパーグローバル変数である。?以降のクエリは無視されるため、今回の場合、他のと比べ勝手が良い。
strrpos($_SERVER['PHP_SELF'], "/")
“/”が最後に現れるインデックスを返す。最後に現れるということは、このスクリプトファイルが存在するカレントディレクトリのことであろう。
substr($_SERVER['PHP_SELF'], 0, strrpos($_SERVER['PHP_SELF'], "/") + 1)
スクリプトファイルへの絶対パスの、「0〜最後に”/”が現れるインデックス+1」までの文字列を取得。