window下的php把/开始的路径当绝对路径处理

把下面的代码放到g:/www/www/www/www/www/index.php中运行


<?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网络路径,然后分隔符不管是\还是/都能正常解析;

如果是\或是/起始的路径会被认为是等同于 盘符:/ 来进行解析


实际目录,


window下的php把/开始的路径当绝对路径处理 - qidizi - qidizi 的博客

php路径


window下的php把/开始的路径当绝对路径处理 - qidizi - qidizi 的博客


跟共享相同路径的盘符下的目录,也就是直接把//computer直接换成g:/的等效目录

window下的php把/开始的路径当绝对路径处理 - qidizi - qidizi 的博客

第一张实际目录共享后的共享路径目录

window下的php把/开始的路径当绝对路径处理 - qidizi - qidizi 的博客


当代码为

<?php  
var_dump( dirname("/qidizi/qidizi/rdddeed"));exit;

或是

<?php  
var_dump( dirname("\\qidizi/qidizi/rdddeed"));exit;


实际是解析成

g:/qidizi/qidizi/xxxx


当代码为


<?php  
var_dump( dirname("//qidizi/qidizi/rdddeed"));exit;


或是

<?php  
var_dump( dirname("\\\\qidizi/qidizi/rdddeed"));exit;


就会被解析成

\\QIDIZI/qidizi/xxx 的共享后的目录.


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值