关于__FILE__,dirname()的使用小小心得

dirname()函数说明

string dirname ( string$path )

给出一个包含有指向一个文件的全路径的字符串,本函数返回去掉文件名后的目录名。

以下为测试实例:

测试结果如下:


一些小问题

dirname()函数的作用是除去文件名,返回文件名前面的目录名。作用很明显,也很易懂。但是我在编写时遇到点小问题,在这里分享下:

当地址目录分隔符用反斜杠\时,dirname函数也可以正常返回目录名


但是这个结果却不一样了:

为什么会不一样呢?

一开始我百思不得其解,后来发现问题在于返回的地注中反斜杠\和后面的某些字母构成转义字符,例如:\r,\n,\t之类的。dirname函数在输出这些字符串的时候,会把这些按空格输出,导致内容错误。由于web遵循unix命名,所以URL地址也是用反斜杠\来做目录分隔符。虽然现在支持使用斜杠/来做分隔符,但是考虑到现在这种情况,所以以后还是用原始的表示方法为好。


__FILE__

文件的完整路径和文件名。如果用在被包含文件中,则返回被包含的文件名
以下是测试实例:
测试结果如下:

dirname()函数和__FILE__联合使用可以可以用作返回当前文件的路径,
当使用dirname(dirname(__FILE__))时就是在返回当前文件的上一层目录名(最后得出的都不包含最后那个\)。
一般来说在windows操作系统中文件路径都是使用反斜杠\来作为目录分隔。所以这里返回的都是\为分隔符。

此处需注意一点,因为取出的路径不包括\,所以当作为路径组合时一定要在后面的路径前加斜杠\,例如:

这里转换成硬路径引入commom.inc.php文件使用了连接符。如果不加分隔符就会出现访问错误。

以上是这次的学习心得,待续。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值