PHP中_FILE_和dirname(_FILE_)及getcwd()的应用

嘿嘿,由于对php不是很熟,呃,错了,是非常的不熟. =, =

写这个wp-wisdom小插件的时候还是吃了很多苦头的,这不,调用那个写着警句的txt文件都出问题了。。。

由于怕加载这个警句的时候很多,而如果直接写在插件中感觉不是太好,所以就想到写在一个文本文件中,然后用插件去读取,以后添加修改警句也简单些。

首先使用的是getcwd()函数,可是发现调用的是当前web url的绝对路径。。。返回的是当前“工作目录”,
这个工作目录就是url的绝对路径,郁闷了。。。

查了下资料,发现有个很有用的东东__FILE__
__FILE__的路径是当前代码所在文件(而不是url所在文件)完整路径

这个就符合我的要求了 ^_^

比如当前文件是放在(d:\www\)下,文件名是test.php。
测试的代码如下:

echo __FILE__ ; // 取得当前文件的绝对地址,结果:D:\www\test.php
echo dirname(__FILE__); // 取得当前文件所在的绝对目录,结果:D:\www\
echo dirname(dirname(__FILE__)); //取得当前文件的上一层目录名,结果:D:\
?>

使用方法提示,
dirname(__FILE__) 取到的是当前文件的绝对路径,也就是说,比起相对路径,查找速度是最快的。
如果重复一次可以把目录往上提升一个层次:
比如:$d = dirname(dirname(__FILE__));
其实就是把一个目录给dirname()做参数了.因为dirname()返回最后的目录不带\\或者是/
所以重复使用的时候可以认为 dirname() 把最下层的目录当成文件名来处理了.照常返回
当前目录的上级目录.这样重复就得到了它的上一级的目录.

包含得到上一级目录的文件
include(dirname(__FILE__).’/../filename.php’);

本文地址 : http://www.foolpig.com/2008/05/25/php-dirname/
如果你对本文感兴趣,欢迎订阅我的博客

Del.icio.us Google书签 Digg Live Bookmark Technorati Furl Yahoo书签 Facebook 百度搜藏 新浪ViVi 365Key网摘 天极网摘 和讯网摘 博拉网 POCO网摘 添加到饭否 QQ书签 Digbuzz我挖网

Leave a Reply

:grin: 点击插入更多表情 »