programing tip

PHP에서 플랫폼 독립적 인 디렉토리 구분자를 얻는 방법은 무엇입니까?

itbloger 2020. 11. 24. 07:43
반응형

PHP에서 플랫폼 독립적 인 디렉토리 구분자를 얻는 방법은 무엇입니까?


PHP에서 경로 문자열을 만들고 있습니다. 여러 플랫폼 (예 : Linux, Windows, OS X)에서 작동하려면이 기능이 필요합니다. 나는 이것을하고있다 :

$path = $someDirectory.'/'.$someFile;

다양한 플랫폼에서 런타임시 올바르게 포맷 $someDirectory되고 있다고 가정 $someFile합니다. 이것은 Linux 및 OS X에서 아름답게 작동하지만 Windows에서는 작동하지 않습니다. 문제는 /Windows에서 작동 할 것이라고 생각한 캐릭터입니다.

\Windows에서 런타임에 이것을 전환하는 PHP 함수 또는 다른 트릭이 있습니까?

편집 : 명확하게 말하면 결과 문자열은

c:\Program Files (x86)\Sitefusion\Sitefusion.org\Defaults\pref/user.preferences

Windows에서. 분명히 슬래시의 혼합은 Windows를 혼란스럽게합니다.


이걸로 해봐

DIRECTORY_SEPARATOR

$patch = $somePath. DIRECTORY_SEPARATOR .$someFile

또는 당신의 것을 정의 할 수 있습니다

PHP_OS == "Windows" ||
    PHP_OS == "WINNT" ? define("SEPARATOR", "\\") : define("SEPARATOR", "/"); 

if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN')           
    define("SEPARATOR", "\\");
else 
    define("SEPARATOR", "/");

http://php.net/manual/en/function.php-uname.php

참고 URL : https://stackoverflow.com/questions/6654157/how-to-get-a-platform-independent-directory-separator-in-php

반응형