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 相关文章推荐
通过文字传递创建的图形按钮
Oct 09 PHP
PHP动态变静态原理
Nov 25 PHP
php日历[测试通过]
Mar 27 PHP
PHP实现的汉字拼音转换和公历农历转换类及使用示例
Jul 01 PHP
PHP exif扩展方法开启详解
Jul 28 PHP
CI框架安全类Security.php源码分析
Nov 04 PHP
php分割合并两个字符串的函数实例
Jun 19 PHP
Symfony学习十分钟入门经典教程
Feb 03 PHP
Ajax中的JSON格式与php传输过程全面解析
Nov 14 PHP
PHP实现二维数组(或多维数组)转换成一维数组的常见方法总结
Dec 04 PHP
PHP上传图片到数据库并显示的实例代码
Dec 20 PHP
PHP页面静态化――纯静态与伪静态用法详解
Jun 05 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
层叠菜单的动态生成
2006/10/09 PHP
php 地区分类排序算法
2013/07/01 PHP
php 删除目录下N分钟前创建的所有文件的实现代码
2013/08/10 PHP
检查用户名是否已在mysql中存在的php写法
2014/01/20 PHP
PHP延迟静态绑定示例分享
2014/06/22 PHP
php使用array_search函数实现数组查找的方法
2015/06/12 PHP
如何使用PHP Embed SAPI实现Opcodes查看器
2015/11/10 PHP
纯PHP代码实现支付宝批量付款
2015/12/24 PHP
Smarty变量用法详解
2016/05/11 PHP
php实现用户登陆简单实例
2017/04/04 PHP
ThinkPHP框架中使用Memcached缓存数据的方法
2018/03/31 PHP
JavaScript 动态添加表格行 使用模板、标记
2009/10/24 Javascript
JavaScript事件委托的技术原理探讨示例
2014/04/17 Javascript
JS实现单行文字不间断向上滚动的方法
2015/01/29 Javascript
jquery实现简单的遮罩层
2016/01/08 Javascript
JS实现的驼峰式和连字符式转换功能分析
2016/12/21 Javascript
BootStrap daterangepicker 双日历控件
2017/06/02 Javascript
Vue2 Vue-cli中使用Typescript的配置详解
2017/07/24 Javascript
利用node.js实现反向代理的方法详解
2017/07/24 Javascript
小程序实现搜索界面 小程序实现推荐搜索列表效果
2019/05/18 Javascript
layui监听select变化,以及设置radio选中的方法
2019/09/24 Javascript
JS动态图片的实现方法完整示例
2020/01/13 Javascript
Python 字符串定义
2009/09/25 Python
开源Web应用框架Django图文教程
2017/03/09 Python
Python实现输出某区间范围内全部素数的方法
2018/05/02 Python
启动Atom并运行python文件的步骤
2018/11/09 Python
在unittest中使用 logging 模块记录测试数据的方法
2018/11/30 Python
Pycharm 实现下一个文件引用另外一个文件的方法
2019/01/17 Python
在Pytorch中计算自己模型的FLOPs方式
2019/12/30 Python
如何使用python传入不确定个数参数
2020/02/18 Python
用Python生成HTML表格的方法示例
2020/03/06 Python
python 日志模块 日志等级设置失效的解决方案
2020/05/26 Python
Belvilla德国:在线预订度假屋
2018/04/10 全球购物
中国专业的音频分享平台:喜马拉雅
2019/05/24 全球购物
会计专业自荐信
2014/06/03 职场文书
快递员岗位职责
2014/09/12 职场文书