遇到奇怪的问题,在 Windows 环境下,你猜 dirname(‘/’) 返回虾米?
string(1) “\”
Linux 下呢?
string(1) “/”
换个参数,dirname(‘/home/leakon/sofav.php’),如果你认为上面的不同,是因为 Windows 的目录分隔符是反斜线 “\”,那下面的结果如何解释?
Windows: string(12) “/home/leakon”
Linux: string(12) “/home/leakon”
再换参数,dirname(‘D:\Leakon\Code\sofav.php’)
Windows: string(14) “D:\Leakon\Code”
Linux: string(1) “.”
奇怪吧,为什么有这么大区别呢?
现在还不太清楚,提供一下我的测试环境:
Windows 下存在 D:\Leakon\Code\sofav.php 这个文件,Linux 下存在 /home/leakon/sofav.php。
等搞明白回来顶,看到的,用到的,留心记一下吧。
顺便说下,这个问题,是用单元测试发现的。
我知道很多开发者都懂单元测试,我也知道很多开发者并没有切身去实践单元测试。