プロが教える店舗&オフィスのセキュリティ対策術

>PHPはWindowsでも"/"(フォワードスラッシュ)でファイルパスをかけるから
の意味が分かりません。
▽POSTORO: PHPでは DIRECTORY_SEPARATORはほとんど使う必要が無い
http://postoro.blogspot.com/2010/06/php-director …

こちらだと、Windowsのファイルパスは\になっているのですが、
▽コンピュータ手順 PHP 定数 予約 DIRECTORY_SEPARATOR PHP_SHLIB_SUFFIX  PATH_SEPARATOR
http://sakusakuse.blog46.fc2.com/blog-entry-251. …


ということは、\でも、/でもいい、ということになるのでしょうか?
その場合、スラッシュで書いたときはスラッシュでしかダメで、
\で書いたときは、\でしか認識しない、ということなのでしょうか?

あるいは、/で書いても、\で認識するのでしょうか?

また、「ファイルパスをかけるから」の意味が分からないのですが、
この意味は、/で書いても、\と変換して認識する、という意味でしょうか?
それとも、/で書いても、\で書いても認識する、という意味でしょうか?



<質問背景>
$path_parts['dirname'] = str_replace('\\', '/', $path_parts['dirname']);
というコードの意味を調べていたら沸いてきた疑問なのですが、
そもそも、こんなコードを書く必要ない、
winowsのときは、みたいに条件分けする必要ない、
ということなのでしょうか?

A 回答 (2件)

>>PHPはWindowsでも"/"(フォワードスラッシュ)でファイルパスをかけるから


>の意味が分かりません。

Windowsは内部処理的には"/"もディレクトリのセパレータとして
扱ってくれますので、そのことかと思います。

例えばコマンドプロンプトから
dir "C:/"
でCドライブのルートディレクトリが表示されますよ。
(dir C:/ はダメ)
    • good
    • 0
この回答へのお礼

回答ありがとうございましたー

お礼日時:2012/01/09 13:15

http://www.php.net/manual/ja/function.fopen.php
http://php.net/manual/ja/function.dirname.php

適当にリファレンスマニュアルのファイル関係の関数を読んでいれば書いてあるぞ。
    • good
    • 0
この回答へのお礼

回答ありがとうございました。

リンク先、大変参考になりましたー

お礼日時:2012/01/09 13:17

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!