[PHP-users 3018] Re: ウィンドウズとgetcwd()

Kazumasa Gotoh php-users@php.gr.jp
Mon, 22 Oct 2001 13:25:27 +0900


From: "kz-ml" <sendoh@anet.ne.jp>
Date: Mon, 22 Oct 2001 13:22:01 +0900

> $root_path = getcwd();
> include($rootpath."/dir/file.php");
> 
> getcwd() のところでstr_replace()かなにかを使用して
> バックスラッシュをスラッシュに変換しなくてはいけないのでしょうか?

Win32API では、ディレクトリの区切り文字はバックスラッシュでも
スラッシュでも、両者が混在していても受け付けるようです。
ですから、PHP が「そのまま」Win32API を呼び出しているだけなので
あれば、変換は別に必要ないように思います。

ただし、getcwd() でドイラブレターまでもが返ってくるかどうかは
知りませんが…

getcwd() はあくまでも "Current Working Directory" を得るだけのはず
なんですが、Drive Letter はどうなってしまうのか…
Win32API では Current Working Directory を得るのと、Current Drive Letter
を得る方法は別の話であったような気がします。

# 両方を同時に得る API もあったかな?

> また、getcwd()で
> C:\Program Files\Apache Group\Apache\htdocs
> のような値が帰ってきた場合、この値を上述のincludeで使用するにはProgramと
> Filesの間の
> スペースを%20か何かに変換する必要はありますか?

ドライブレターが返ってくるのかどうかは別にして、Win32API 的には
何も問題ないと思います。
まぁ、PHP が「余計なこと」をしていなければ… ですが。

あ、ひょっとして PHP のパーサが余計なことをするのかしないのかという
話なのでしょうか? (^^;

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
(株) セントラル情報センター
                             後藤和政    kgotoh@cic-kk.co.jp