Is using the directory separator constant necessary?

前端 未结 3 1909
佛祖请我去吃肉
佛祖请我去吃肉 2020-12-10 10:23

I am using PHP, but I guess this question might be language agnostic.

With PHP, a constant is defined by PHP, called DIRECTORY_SEPARATOR. I ha

3条回答
  •  北荒
    北荒 (楼主)
    2020-12-10 10:46

    As far as PHP is concerned, you might not need it when constructing a path, but it is important for anything you get from the OS.

    From http://alanhogan.com/tips/php/directory-separator-not-necessary:

    In attempting to write cross-platform, portable PHP code, I used PHP’s DIRECTORY_SEPARATOR constant to write path strings, e.g. "..".DIRECTORY_SEPARATOR."foo", because the “proper” way to do it on Windows would be "..\foo" while on everything else (Linux, UNIX, Mac OS X) it would be "../foo".

    Well, as Christian on php.net pointed out and the guys at Web Design Forums confirmed, that’s completely unnecessary. As long as you use the forward slash, “/”, you’ll be OK. Windows doesn’t mind it, and it’s best for *nix operating systems.

    (Note that DIRECTORY_SEPARATOR is still useful for things like explode-ing a path that the system gave you. Thanks to Shadowfiend for pointing this out.)

提交回复
热议问题