概述
把下面的代码放到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 computernamesharefilenameto check files on network shares.
可是我测试后发现,起始的路径并不会被认为是网络路径,而是上面的提到的相对本盘符的根目录;
经过测试的总结是:
\或是//起始的路径在window中会被认为是share网络路径,然后分隔符不管是还是/都能正常解析;
如果是或是/起始的路径会被认为是等同于 盘符:/ 来进行解析
实际目录,
php路径
跟共享相同路径的盘符下的目录,也就是直接把//computer直接换成g:/的等效目录
第一张实际目录共享后的共享路径目录
当代码为
<?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 的共享后的目录.
最后
以上就是负责墨镜为你收集整理的window下的php把/开始的路径当绝对路径处理的全部内容,希望文章能够帮你解决window下的php把/开始的路径当绝对路径处理所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复