반응형
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", "/");
반응형
'programing tip' 카테고리의 다른 글
github에서 저장소 이름을 바꾸는 방법은 무엇입니까? (0) | 2020.11.24 |
---|---|
Windows에 C로 디렉토리가 있는지 어떻게 확인합니까? (0) | 2020.11.24 |
Chrome / Firefox console.log는 항상 undefined라는 줄을 추가합니다. (0) | 2020.11.24 |
getLoaderManager (). initLoader ()는 클래스 (ListFragment)가 LoaderManager.LoaderCallbacks를 구현하지만 'this'를 인수로 허용하지 않습니다. (0) | 2020.11.23 |
Rails 4에서 글꼴을 사용하는 방법 (0) | 2020.11.23 |