把下面的代码放到g:/www/www/www/www/www/index.php中运行
mkdir('/kkkkkkkkkkk');exit;
会发现有一个目录出现: g:/kkkkkkkkkkk
mkdir("\\kkkkd");exit;
也一样会在盘符的根目录下出现这个目录,
那就是php在window下时把/或是\开始的当绝对路径,且是相对于本盘符.
在php.net中mkdir有一个提示说
On windows, use //computername/share/filenameor \computername\share\filenameto check files on network shares.
可是我测试后发现,\起始的路径并不会被认为是网络路径,而是上面的提到的相对本盘符的根目录;
经过测试的总结是:
\\或是//起始的路径在window中会被认为是share网络路径,然后分隔符不管是\还是/都能正常解析;
如果是\或是/起始的路径会被认为是等同于 盘符:/ 来进行解析
实际目录,
php路径
跟共享相同路径的盘符下的目录,也就是直接把//computer直接换成g:/的等效目录
第一张实际目录共享后的共享路径目录
当代码为
var_dump( dirname("/qidizi/qidizi/rdddeed"));exit;
或是
var_dump( dirname("\\qidizi/qidizi/rdddeed"));exit;
实际是解析成
g:/qidizi/qidizi/xxxx
当代码为
var_dump( dirname("//qidizi/qidizi/rdddeed"));exit;
或是
var_dump( dirname("\\\\qidizi/qidizi/rdddeed"));exit;
就会被解析成
\\QIDIZI/qidizi/xxx 的共享后的目录.