Pytanie Dlaczego istnieje stała PATH_SEPARATOR?


Czy to nie jest /  ?

Dlaczego jest na to stała? To nie tak, że może się zmienić, prawda?


31
2018-03-19 11:08


pochodzenie




Odpowiedzi:


PATH_SEPARATOR to znak używany do rozdzielania wielu ścieżek w unikalnym ciągu (np include_path w php.ini).

Jego wartość jest ':' w systemie UNIX i ';' w systemie Windows.

O czym ty mówisz ('/' w systemach UNIX i '\' w systemie Windows) to DIRECTORY_SEPARATOR stały.


87
2018-03-19 11:10



+1 Poprawna odpowiedź. - Mark Baker


Jak pierwotne pytanie brzmi: "Dlaczego istnieje stała PATH_SEPARATOR?", System Windows używa średnika ;, podczas gdy inne systemy używają dwukropka :

Jednak myślę, że pomyliłeś PATH_SEPARATOR z DIRECTORY_SEPARATOR

PATH_SEPARATOR ogranicza wiele ścieżek w tym samym ciągu. Na przykład, gdy jest używany w zmiennych środowiskowych systemu Windows.

c: \ ścieżka \ do \ a;c: \ ścieżka \ do \ b

DIRECTORY_SEPARATOR oddziela katalogi w ścieżce: W systemie Windows

\

W innych systemach

/

Jak wspomniano przez innych, okna również akceptuje /


10
2018-03-19 11:17



PHP akceptuje /, Windows nie - spróbuj system(...) - Karoly Horvath
Otwórz konsolę poleceń i spróbuj cd /valid/path/ w oknach. Myślę, że przekonasz się, że to działa - Ben Rowe
Próbować cd /, a zobaczysz, że tak nie jest. - Karoly Horvath
@KarolyHorvath, właśnie zrobiłem na 3 komputerach z systemem Windows 7. Pracował bez żadnych problemów. - Ben Rowe
To jest właśnie problem - obsługuje go na poziomie API. Próbować system("dir /mydirectory") - będzie narzekać, ponieważ uważa, że ​​jest to parametr dir dowództwo. Więc chociaż PHP obsługuje /, możesz łatwo skończyć z dziwnymi problemami, ponieważ zakładałeś, że to zadziała wszędzie. Chciałem tylko to podkreślić. - Karoly Horvath


To może. To jest \ w Windows i / w Linuksie (i prościej wszędzie indziej), chociaż akceptują to nowoczesne wersje systemu Windows / jako separator.

Ooops, chodzi o to DIRECTORY_SEPARATOR stały.

PATH_SEPARATOR jest rzeczywiście stałą separacją różnych ścieżek, jak widać w PéCés odpowiedzieć.


4
2018-03-19 11:09