我是办公室里唯一的Windows开发人员,我们有很多代码如下:
$fileName = preg_replace("/^(extend|base)\//", "", $fileName);
$ fileName通常来自 FILE 或类似的内容。
为了让这些代码在我的机器上运行,我必须启动一大堆功能:
$fileName = str_replace("\\", "/", $fileName);
有没有更好的方法来解决这个问题,比如php.ini设置,或者我可以在我的机器上专门定义的东西,强制PHP提供带正斜杠而不是反斜杠的文件和路径?
编辑:使用DIRECTORY_SEPARATOR当然是一种选择,但它需要花费数小时的时间来更改代码。
澄清一下,问题不是“如何更改我的代码”,而是“是否有设置强制类似unix的目录分隔符?”
答案 0 :(得分:3)
为您定义了DIRECTORY_SEPARATOR常量。使用它而不是“/”或“\”。
编辑:(另外,我认为(目前无法检查)Windows上的PHP允许使用正斜杠就好了。)
编辑2:或者只是这样做:
$fileName = preg_replace("/^(extend|base)[\/\\]/", "", $fileName);