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 COOKIE及时生效的方法介绍
Feb 14 PHP
php中cookie的使用方法
Mar 29 PHP
PHP面向对象教程之自定义类
Jun 10 PHP
ThinkPHP之M方法实例详解
Jun 20 PHP
ThinkPHP中数据操作案例分析
Sep 27 PHP
PHP中each与list用法分析
Jan 08 PHP
php代码架构的八点注意事项
Jan 25 PHP
详解PHP数据压缩、加解密(pack, unpack)
Dec 17 PHP
Yii2学习笔记之汉化yii设置表单的描述(属性标签attributeLabels)
Feb 07 PHP
PHP延迟静态绑定的深入讲解
Apr 02 PHP
PHP实现简易图形计算器
Aug 28 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
使用PHPMyAdmin修复论坛数据库的图文方法
2012/01/09 PHP
php读取文件内容的三种可行方法示例介绍
2014/02/08 PHP
示例详解Laravel重置密码代码重构
2016/08/10 PHP
php接口技术实例详解
2016/12/07 PHP
TP3.2批量上传文件或图片 同名冲突问题的解决方法
2017/08/01 PHP
PHP基于双向链表与排序操作实现的会员排名功能示例
2017/12/26 PHP
Thinkphp5 自定义上传文件名的实现方法
2019/07/23 PHP
用javascript动态调整iframe高度的方法
2007/03/06 Javascript
Visual Studio中的jQuery智能提示设置方法
2010/03/27 Javascript
window.location.hash 使用说明
2010/11/08 Javascript
基于node.js的快速开发透明代理
2010/12/25 Javascript
jQuery的attr与prop使用介绍
2013/10/10 Javascript
IE中的File域无法清空使用jQuery重设File域
2014/04/24 Javascript
用Jquery.load载入页面后样式没了页面混乱的解决方法
2014/10/20 Javascript
jQuery的extend方法【三种】
2016/12/14 Javascript
基于vue2框架的机器人自动回复mini-project实例代码
2017/06/13 Javascript
深入理解React Native原生模块与JS模块通信的几种方式
2017/07/24 Javascript
ionic选择多张图片上传的示例代码
2017/10/10 Javascript
解决Vue 通过下表修改数组,页面不渲染的问题
2018/03/08 Javascript
js实现数字跳动到指定数字
2020/08/25 Javascript
JavaScript通如何过RGraph实现动态仪表盘
2020/10/15 Javascript
[02:47]2018年度DOTA2最佳辅助位选手4号位-完美盛典
2018/12/17 DOTA
pygame学习笔记(2):画点的三种方法和动画实例
2015/04/15 Python
一个基于flask的web应用诞生 使用模板引擎和表单插件(2)
2017/04/11 Python
Python使用matplotlib绘制正弦和余弦曲线的方法示例
2018/01/06 Python
python解决字符串倒序输出的问题
2018/06/25 Python
Python读取excel中的图片完美解决方法
2018/07/27 Python
金讯Java笔试题目
2013/06/18 面试题
什么是makefile? 如何编写makefile?
2012/08/08 面试题
教师演讲稿范文
2014/01/08 职场文书
毕业生自我鉴定实例
2014/01/21 职场文书
班干部竞选演讲稿
2014/04/24 职场文书
优秀共产党员先进事迹材料
2014/05/06 职场文书
会员活动策划方案
2014/08/19 职场文书
社会实践活动总结格式
2015/05/11 职场文书
2016年优秀班主任先进事迹材料
2016/02/26 职场文书