Alex
Alex

Reputation: 68004

Why is there a PATH_SEPARATOR constant?

Isn't this / ?

Why is there a constant for it? It's not like it can change, right?

Upvotes: 36

Views: 20247

Answers (3)

Ben Rowe
Ben Rowe

Reputation: 28711

As your original question states: "Why is there a PATH_SEPARATOR constant?", windows uses a semi-colon ;, while other systems use a colon :

However I think you've mistaken PATH_SEPARATOR with DIRECTORY_SEPARATOR

PATH_SEPARATOR delimits multiple paths in the same string. For example when used in windows environment variables.

c:\path\to\a;c:\path\to\b

DIRECTORY_SEPARATOR separates the directories within the path: In Windows

\

In other systems

/

As mentioned by others, windows also accepts /

Upvotes: 13

AlterPHP
AlterPHP

Reputation: 12727

PATH_SEPARATOR is the character used to separate many paths in a unique string (like include_path in php.ini).

Its value is ':' on a UNIX system and ';' on a Windows system.

What you're talking about ('/' on UNIX and '\' on Windows) is the DIRECTORY_SEPARATOR constant.

Upvotes: 99

GolezTrol
GolezTrol

Reputation: 116110

It can. It is \ in Windows and / in Linux (and prettymuch everywhere else), although modern versions of Windows do accept / as a separator.

Ooops this is about the DIRECTORY_SEPARATOR constant.

PATH_SEPARATOR is indeed the constant to separate various paths as seen in PéCés answer.

Upvotes: 4

Related Questions