PHP中__FILE__、dirname与basename用法实例分析


Posted in PHP onDecember 01, 2014

本文实例讲述了PHP中__FILE__、dirname与basename用法。分享给大家供大家参考。具体方法如下:

在php中__FILE__当前运行文件的完整路径和文件名,如果用在被包含文件中,则返回被包含的文件名,这是一个魔法变量(预定义常量),我们可以通用dirname与basename来获取文件目录或文件名.

一、__FILE__与dirname(__FILE__)与basename(__FILE__)使用:

通常在配置文件路径的时候用dirname(__FILE__)是非常有效的方法,但是因为__FILE__的路径是当前代码所在文件(而不是url所在文件)完整路径,所以定义配置文件通常要放在根目录下定义网站的根地址,但是下面的方法可以解决配置文件的存放问题,代码如下:

dirname(dirname(__FILE__));

假设__FILE__为 /home/web/config/config.php,上面的方法输出为 /home/web 

dirname(dirname(__FILE__));得到的是文件上一层目录名

dirname(__FILE__);得到的是文件所在层目录名

假设现在的目录及文件结构如下,我们所要测试的变量在wp_smtp_admin.php文件中:

wp-content\plugins\wp-smtp\wp-smtp.php

wp-content\plugins\wp-smtp\wp_smtp_admin.php

wp-content\plugins\wp-smtp\img\blq_32_32.jpg

测试结果如下,代码如下:

echo __FILE__ . "<br />"; //输出 F:\xampp\htdocs\wordpress\wp-content\plugins\wp-smtp\wp_smtp_admin.php 

echo dirname(__FILE__) . "<br />"; //输出 F:\xampp\htdocs\wordpress\wp-content\plugins\wp-smtp 

echo basename(__FILE__) . "<br />"; //输出 wp_smtp_admin.php

二、测试wordpress自带的一些函数:
echo plugin_basename(__FILE__) . "<br />"; //输出wp-smtp/wp_smtp_admin.php 

echo dirname(plugin_basename(__FILE__)) . "<br />"; //输出 wp-smtp 

echo plugin_dir_url(__FILE__) . "<br />"; //输出 http://localhost/wordpress/wp-content/plugins/wp-smtp/ 

echo plugin_dir_path(__FILE__) . "<br />"; //输出 F:\xampp\htdocs\wordpress\wp-content\plugins\wp-smtp/ 

echo plugins_url() . "<br />"; //输出 http://localhost/wordpress/wp-content/plugins 

echo plugins_url('',__FILE__) . "<br />"; //输出 http://localhost/wordpress/wp-content/plugins/wp-smtp 

echo plugins_url('/img/blq_32_32.jpg',__FILE__)  . "<br />"; //输出 http://localhost/wordpress/wp-content/plugins/wp-smtp/img/blq_32_32.jpg

好了现在我们来看看这dirname与basename相关说明

dirname() 函数返回路径中的目录部分,basename() 函数返回路径中的文件名部分,从这里我们就不难看出上面的结果了.

希望本文所述对大家的PHP程序设计有所帮助。

PHP 相关文章推荐
Ajax PHP分页演示
Jan 02 PHP
PHP 分页类(模仿google)-面试题目解答
Sep 13 PHP
php下使用SimpleXML 处理XML 文件
Feb 27 PHP
php中global和$GLOBALS[]的分析之一
Feb 02 PHP
PHP读取数据库并按照中文名称进行排序实现代码
Jan 29 PHP
采用memcache在web集群中实现session的同步会话
Jul 05 PHP
php curl 上传文件代码实例
Apr 27 PHP
Windows2003下php5.4安装配置教程(Apache2.4)
Jun 30 PHP
php实现和c#一致的DES加密解密实例
Jul 24 PHP
thinkphp集成前端脚手架Vue-cli的教程图解
Aug 30 PHP
php设计模式之备忘模式分析【星际争霸游戏案例】
Mar 24 PHP
PHP中多字节字符串操作实例详解
Aug 23 PHP
php 删除cookie方法详解
Dec 01 #PHP
php生成html文件方法总结
Dec 01 #PHP
php中debug_backtrace、debug_print_backtrace和匿名函数用法实例
Dec 01 #PHP
php中随机函数mt_rand()与rand()性能对比分析
Dec 01 #PHP
THINKPHP项目开发中的日志记录实例分析
Dec 01 #PHP
PHP内置的Math函数效率测试
Dec 01 #PHP
php查找字符串出现次数的方法
Dec 01 #PHP
You might like
德生9700DX电路分析
2021/03/02 无线电
PHP 函数学习简单小结
2010/07/08 PHP
深入理解curl类,可用于模拟get,post和curl下载
2013/06/08 PHP
php获取目录所有文件并将结果保存到数组(实例)
2013/10/25 PHP
php中的观察者模式简单实例
2015/01/20 PHP
php中序列化与反序列化详解
2017/02/13 PHP
php中Ioc(控制反转)和Di(依赖注入)
2017/05/07 PHP
2010年最佳jQuery插件整理
2010/12/06 Javascript
20款非常优秀的 jQuery 工具提示插件 推荐
2012/07/15 Javascript
Javascript排序算法之计数排序的实例
2014/04/05 Javascript
js事件监听机制(事件捕获)总结
2014/08/08 Javascript
通过js获取上传的图片信息(临时保存路径,名称,大小)然后通过ajax传递给后端的方法
2015/10/01 Javascript
教你用javascript实现随机标签云效果_附代码
2016/03/16 Javascript
js简单正则验证汉字英文及下划线的方法
2016/11/28 Javascript
Bootstrap响应式表格详解
2017/05/23 Javascript
vue使用监听实现全选反选功能
2018/07/06 Javascript
json字符串传到前台input的方法
2018/08/06 Javascript
vue 解决文本框被键盘遮住的问题
2019/11/06 Javascript
Python中字符串的修改及传参详解
2016/11/30 Python
python模块简介之有序字典(OrderedDict)
2016/12/01 Python
Python 遍历列表里面序号和值的方法(三种)
2017/02/17 Python
python实现简单名片管理系统
2018/11/30 Python
Python求均值,方差,标准差的实例
2019/06/29 Python
使用TensorFlow实现简单线性回归模型
2019/07/19 Python
python识别验证码图片实例详解
2020/02/17 Python
基于django2.2连oracle11g解决版本冲突的问题
2020/07/02 Python
利用CSS的Sass预处理器(框架)来制作居中效果
2016/03/10 HTML / CSS
HTML5的自定义属性data-*详细介绍和JS操作实例
2014/04/10 HTML / CSS
介绍下Java中==和equals的区别
2013/09/01 面试题
一道Delphi面试题
2016/10/28 面试题
土木工程专业推荐信
2014/02/19 职场文书
电焊工岗位工作职责
2014/07/09 职场文书
中班上学期个人总结
2015/02/12 职场文书
2016年春季趣味运动会开幕词
2016/03/04 职场文书
导游词之泰山玉皇顶
2019/12/23 职场文书
修改并编译golang源码的操作步骤
2021/07/25 Golang