如何为Windows和Linux平台定义DIRECTORY_SEPARATOR?

use*_*ase 23 php linux windows

现在我创建一个小的PHP应用程序,这里我有使用文件路径的问题,因为在Windows中使用这种类型的位置,C:\Some\Location\index但是Linux /www/app/index当我使用这个定义路径/但是当应用程序在窗口机器中运行时应该是这个问题/.

所以我想在这里定义DIRECTORY_SEPARATOR Windows和Linux平台.

zer*_*kms 47

PHP接受所有操作系统中的两个\/有效路径分隔符.所以只需/在代码中使用即可

  • 根据 http://stackoverflow.com/questions/625332/is-using-the-directory-separator-constant-neccessary 并非所有操作系统都是 windows 和 nix,使用它更跨平台,例如 mac os 经典用途:作为分隔符. 另见例如 http://edward.de.leau.net/is-the-php-directory_separator-constant-really-needed-20130121.html (3认同)

she*_*mer 20

为方便起见,您可以编写定义较短的常量:

DEFINE('DS', DIRECTORY_SEPARATOR); 
Run Code Online (Sandbox Code Playgroud)

然后将您的路径写为:

$path = 'www'.DS.'app'.DS.'index'; 
Run Code Online (Sandbox Code Playgroud)

或者我不明白你的问题?


Nev*_*ver 6

请参阅PHP预定义常量

也许它已经在你的脚本中定义,尝试回显DIRECTORY_SEPARATOR,看看它是否有任何价值