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 相关文章推荐
php文件上传的简单实例
Oct 19 PHP
PHP 5.5 创建和验证哈希最简单的方法详解
Nov 07 PHP
从零开始学YII2框架(四)扩展插件yii2-kartikgii
Aug 20 PHP
PDO防注入原理分析以及使用PDO的注意事项总结
Oct 23 PHP
PHP队列用法实例
Nov 05 PHP
PHP使用CURL实现多线程抓取网页
Apr 30 PHP
[原创]ThinkPHP让../Public在模板不解析(直接输出)的方法
Oct 09 PHP
thinkPHP自定义类实现方法详解
Nov 30 PHP
php微信开发之音乐回复功能
Jun 14 PHP
PHP设计模式之模板方法模式实例浅析
Dec 20 PHP
php封装的pdo数据库操作工具类与用法示例
May 08 PHP
PHP的JSON封装、转变及输出操作示例
Sep 27 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
不错的PHP学习之php4与php5之间会穿梭一点点感悟
2007/05/03 PHP
Yii框架调试心得--在页面输出执行sql语句
2014/12/25 PHP
PHP安全上传图片的方法
2015/03/21 PHP
PHP实现补齐关闭的HTML标签
2016/03/22 PHP
Yii2中如何使用modal弹窗(基本使用)
2016/05/30 PHP
php使用fputcsv实现大数据的导出操作详解
2020/02/27 PHP
JS 有名函数表达式全面解析
2010/03/19 Javascript
利用JQuery和JS实现奇偶行背景颜色自定义效果
2012/11/19 Javascript
利用js制作html table分页示例(js实现分页)
2014/04/25 Javascript
fixedBox固定div漂浮代码支持ie6以上大部分主流浏览器
2014/06/26 Javascript
将页面table内容与样式另存成excel文件的方法
2015/08/05 Javascript
javascript跨域的方法汇总
2015/10/23 Javascript
jQuery简单实现input文本框内灰色提示文本效果的方法
2015/12/02 Javascript
jQuery 实现ajax传入参数含有特殊字符的方法总结
2016/10/17 Javascript
AngularJS实现根据不同条件显示不同控件
2017/04/20 Javascript
js禁止浏览器的回退事件
2017/04/20 Javascript
Node.js静态服务器的实现方法
2018/02/28 Javascript
VUE2.0+ElementUI2.0表格el-table循环动态列渲染的写法详解
2018/11/30 Javascript
vue-cli中使用高德地图的方法示例
2019/03/28 Javascript
vue获取form表单的值示例
2019/10/29 Javascript
vue 导航内容设置选中状态样式的例子
2019/11/01 Javascript
Vue开发环境跨域访问问题
2020/01/22 Javascript
微信小程序实现下滑到底部自动翻页功能
2020/03/07 Javascript
解决vue使用vant下拉框van-dropdown-item 绑定title值不变问题
2020/08/05 Javascript
js 函数性能比较方法
2020/08/24 Javascript
electron踩坑之remote of undefined的解决
2020/10/06 Javascript
[01:15:29]DOTA2上海特级锦标赛主赛事日 - 3 胜者组第二轮#2Secret VS EG第三局
2016/03/04 DOTA
pycharm中连接mysql数据库的步骤详解
2017/05/02 Python
Python可变参数*args和**kwargs用法实例小结
2018/04/27 Python
python Gunicorn服务器使用方法详解
2019/07/22 Python
pycharm无法安装第三方库的问题及解决方法以scrapy为例(图解)
2020/05/09 Python
编程用JAVA解析XML的方式
2013/07/07 面试题
购房意向书
2014/08/30 职场文书
2016党员学习《反对自由主义》心得体会
2016/01/22 职场文书
2016五一手机促销广告语
2016/01/28 职场文书
JavaScript实现外溢动态爱心的效果的示例代码
2022/03/21 Javascript