path が../b
で、現在のディレクトリが/var/www/a/c
の場合、 realpath は/var/www/a/b
しかし、b
存在しない場合、realpath() は false を返します。
ディレクトリがまだ存在しない場合でも同じパスを取得できますか?
realpath()
信頼できる方法で行うことが不可能であるという理由だけで、 のような事前定義された関数形式としては利用できません。
例として、MacOS で を実行ls /etc/..
すると、 のディレクトリ リストが表示されると思うでしょう/
。問題は、これ/etc
は へのソフト リンクであるため/private/etc
、これを行うls /etc/..
と のリストが表示されることです/private
。
リンクがまだ存在しない場合、これを事前に計算することはできません。そのため、すべてのファイル/ディレクトリが既に存在することなく、一般的な意味で解決できる関数はありません。
つまり、特定の問題を解決するには、独自の関数を作成する必要がある可能性が高くなります。