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 相关文章推荐
Zend Studio 无法启动的问题解决方法
Dec 04 PHP
PHP 学习路线与时间表
Feb 21 PHP
php select,radio和checkbox默认选择的实现方法
May 15 PHP
PHP 获取文件路径(灵活应用__FILE__)
Feb 15 PHP
php+mysql删除指定编号员工信息的方法
Jan 14 PHP
隐性调用php程序的方法
Jun 13 PHP
php抽象类用法实例分析
Jul 07 PHP
深入理解PHP中的empty和isset函数
May 26 PHP
php把时间戳转换成多少时间之前函数的实例
Nov 16 PHP
form表单传递数组数据、php脚本接收的实例
Feb 09 PHP
PHP自定义函数实现数组比较功能示例
Oct 19 PHP
PHP实现断点续传乱序合并文件的方法
Sep 06 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
德生PL660的电路分析和打磨
2021/03/02 无线电
PHP实现域名whois查询的代码(数据源万网、新网)
2010/02/22 PHP
ThinkPHP的Widget扩展实例
2014/06/19 PHP
PHP判断手机是IOS还是Android
2015/12/09 PHP
PHP的RSA加密解密方法以及开发接口使用
2018/02/11 PHP
Yii2处理密码加密及验证的方法
2019/05/12 PHP
JavaScript 的继承
2011/10/01 Javascript
js调用webservice中的方法实现思路及代码
2013/02/25 Javascript
jquery中使用循环下拉菜单示例代码
2014/09/24 Javascript
jQuery实现切换字体大小的方法
2015/03/10 Javascript
jQuery使用$.ajax进行即时验证的方法
2015/12/08 Javascript
JavaScript常用基础知识强化学习
2015/12/09 Javascript
js基础之DOM中元素对象的属性方法详解
2016/10/28 Javascript
jQuery插件echarts实现的多柱子柱状图效果示例【附demo源码下载】
2017/03/04 Javascript
Chrome调试折腾记之JS断点调试技巧
2017/09/11 Javascript
jQuery实现的鼠标滚轮控制图片缩放功能实例
2017/10/14 jQuery
详解用vue2.x版本+adminLTE开源框架搭建后台应用模版
2019/03/15 Javascript
逐行分析鸿蒙系统的 JavaScript 框架(推荐)
2020/09/17 Javascript
Python字符串格式化
2015/06/15 Python
使用python 和 lint 删除项目无用资源的方法
2017/12/20 Python
python实现机器人行走效果
2018/01/29 Python
儿童编程python入门
2018/05/08 Python
Python获取昨天、今天、明天开始、结束时间戳的方法
2018/06/01 Python
python傅里叶变换FFT绘制频谱图
2019/07/19 Python
python使用原始套接字发送二层包(链路层帧)的方法
2019/07/22 Python
Python 高效编程技巧分享
2020/09/10 Python
Python爬虫+tkinter界面实现历史天气查询的思路详解
2021/02/22 Python
HTML5 canvas绘制的玫瑰花效果
2014/05/29 HTML / CSS
Myprotein台湾官方网站:全球领先的运动营养品牌
2018/12/10 全球购物
C++的几个面试题附答案
2016/08/03 面试题
工地资料员岗位职责
2013/12/31 职场文书
酒店前厅员工辞职信
2014/01/08 职场文书
教师党员公开承诺事项
2014/05/28 职场文书
税务干部群众路线教育实践活动对照检查材料
2014/09/20 职场文书
MySQL8.0的WITH查询详情
2021/08/30 MySQL
MySQL中IO问题的深入分析与优化
2022/04/02 MySQL