script.php
$filename = realpath(sprintf("%s/%s", getcwd(), $argv[1]));
var_dump($filename);
いろいろ試してみましょう
[/foo/bar/bof] $ php script.php ../foo.txt
string(16) "/foo/bar/foo.txt"
[/foo/bar/bof] $ php script.php ../nonexistent.txt
bool(false)
くそっ!realpath
ファイルが存在しないため、false が返されます。
私が見たいの../nonexistent.txt
は
string(24) "/foo/bar/nonexistent.txt"
PHPで相対パスの正規化されたパスを取得するにはどうすればよいですか?
注:シンボリック リンク パスの解決に関する質問をいくつか見ました。これらの質問への回答は、私の質問には当てはまりません。