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 相关文章推荐
怎么使 Mysql 数据同步
Oct 09 PHP
PHP中对数据库操作的封装
Oct 09 PHP
比较好用的PHP防注入漏洞过滤函数代码
Apr 11 PHP
codeigniter使用技巧批量插入数据实例方法分享
Dec 31 PHP
PHP概率计算函数汇总
Sep 13 PHP
php强大的时间转换函数strtotime
Feb 18 PHP
php从数据库中读取特定的行(实例)
Jun 02 PHP
PHP简单留言本功能实现代码
Jun 09 PHP
visual studio code 调试php方法(图文详解)
Sep 15 PHP
php处理抢购类功能的高并发请求
Feb 08 PHP
PHP基于pdo的数据库操作类【可支持mysql、sqlserver及oracle】
May 21 PHP
Yii框架安装简明教程
May 15 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遍历所有文件及文件夹的方法深入解析
2013/06/08 PHP
php+mysql结合Ajax实现点赞功能完整实例
2015/01/30 PHP
PHP实现仿Google分页效果的分页函数
2015/07/29 PHP
浅析PHP开发规范
2018/02/05 PHP
php使用array_chunk函数将一个数组分割成多个数组
2018/12/05 PHP
浅析jquery unbind()方法移除元素绑定的事件
2016/05/24 Javascript
Javascript实现代码折叠功能
2016/08/25 Javascript
JS判断键盘是否按的回车键并触发指定按钮点击操作的方法
2017/02/13 Javascript
使用webpack搭建react开发环境的方法
2018/05/15 Javascript
详解在React.js中使用PureComponent的重要性和使用方式
2018/07/10 Javascript
小程序如何在不同设备上自适应生成海报的实现方法
2019/08/20 Javascript
webpack常用配置总览(小结)
2019/11/18 Javascript
vue跳转方式(打开新页面)及传参操作示例
2020/01/26 Javascript
[47:03]Ti4第二日主赛事败者组 LGD vs iG 2
2014/07/21 DOTA
Python单链表的简单实现方法
2014/09/23 Python
Python实现提取谷歌音乐搜索结果的方法
2015/07/10 Python
Python 中的with关键字使用详解
2016/09/11 Python
Jupyter notebook远程访问服务器的方法
2018/05/24 Python
matplotlib调整子图间距,调整整体空白的方法
2018/08/03 Python
Python 实现异步调用函数的示例讲解
2018/10/14 Python
Python利用递归实现文件的复制方法
2018/10/27 Python
详解pandas获取Dataframe元素值的几种方法
2020/06/14 Python
Python pip使用超时问题解决方案
2020/08/03 Python
法国最大的在线眼镜店:EasyLunettes
2019/08/26 全球购物
Feelunique澳大利亚:欧洲的化妆品零售电商
2019/12/18 全球购物
垃圾回收的优点和原理。并考虑2种回收机制
2016/10/16 面试题
销售代表求职自荐信
2013/10/01 职场文书
展会邀请函范文
2014/01/26 职场文书
安全协议书
2014/04/23 职场文书
保护环境建议书100字
2014/05/13 职场文书
会计试用期自我评价怎么写
2014/09/18 职场文书
如何写辞职信
2015/05/13 职场文书
红白喜事主持词
2015/07/06 职场文书
python 遍历磁盘目录的三种方法
2021/04/02 Python
Vue Element UI自定义描述列表组件
2021/05/18 Vue.js
Windows11 Insider Preview Build 25206今日发布 更新内容汇总
2022/09/23 数码科技