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的超级变量$_POST获取HTML表单(HTML Form) 数据
May 07 PHP
php简单对象与数组的转换函数代码(php多层数组和对象的转换)
May 18 PHP
显示youtube视频缩略图和Vimeo视频缩略图代码分享
Feb 13 PHP
php中使用Ajax时出现Error(c00ce56e)的详细解决方案
Nov 03 PHP
Laravel 5 框架入门(三)
Apr 09 PHP
php中删除、清空session的方式总结
Oct 09 PHP
基础的WordPress插件制作教程
Nov 24 PHP
浅析php静态方法与非静态方法的用法区别
May 17 PHP
PHP实现的随机红包算法示例
Aug 14 PHP
ThinkPHP框架整合微信支付之JSAPI模式图文详解
Apr 09 PHP
php进行md5加密简单实例方法
Sep 19 PHP
详解Laravel设置多态关系模型别名的方式
Oct 17 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数组函数序列之next() - 移动数组内部指针到下一个元素的位置,并返回该元素值
2011/10/31 PHP
php递归获取目录内文件(包含子目录)封装类分享
2013/12/25 PHP
如何让PHP编码更加好看利于阅读
2019/05/12 PHP
PHP容器类的两种实现方式示例
2019/07/24 PHP
PHP pthreads v3下worker和pool的使用方法示例
2020/02/21 PHP
各种效果的jquery ui(接口)介绍
2008/09/17 Javascript
javascript 异常处理使用总结
2009/06/21 Javascript
修改jquery.lazyload.js实现页面延迟载入
2010/12/22 Javascript
jQuery jqgrid 对含特殊字符json 数据的 Java 处理方法
2011/01/01 Javascript
JavaScript 性能优化小结
2015/10/12 Javascript
javascript显示上周、上个月日期的处理方法
2016/02/03 Javascript
Javascript实现跑马灯效果的简单实例
2016/05/31 Javascript
基于node.js依赖express解析post请求四种数据格式
2017/02/13 Javascript
BootStrap 表单控件之单选按钮水平排列
2017/05/23 Javascript
vuejs实现标签选项卡动态更改css样式的方法
2018/05/31 Javascript
JS实现将二维数组转为json格式字符串操作示例
2018/07/12 Javascript
vue+iview 实现可编辑表格的示例代码
2018/10/31 Javascript
微信小程序入口场景的问题集合与相关解决方法
2019/06/26 Javascript
ant design vue嵌套表格及表格内部编辑的用法说明
2020/10/28 Javascript
echarts浮动显示单位的实现方法示例
2020/12/04 Javascript
python基于queue和threading实现多线程下载实例
2014/10/08 Python
pygame学习笔记(1):矩形、圆型画图实例
2015/04/15 Python
使用Python脚本生成随机IP的简单方法
2015/07/30 Python
python3+selenium实现qq邮箱登陆并发送邮件功能
2019/01/23 Python
pytorch之ImageFolder使用详解
2020/01/06 Python
Pycharm激活码激活两种快速方式(附最新激活码和插件)
2020/03/12 Python
python代码区分大小写吗
2020/06/17 Python
pandas to_excel 添加颜色操作
2020/07/14 Python
用python写PDF转换器的实现
2020/10/29 Python
纯css3无js实现的Android Logo(有简单动画)
2013/01/21 HTML / CSS
GUESS Factory加拿大:牛仔裤、服装及配饰
2019/09/20 全球购物
ParcelABC西班牙:包裹运送和快递服务
2019/12/24 全球购物
珍惜时间演讲稿
2014/05/14 职场文书
科学发展观活动总结
2014/08/28 职场文书
领导干部失职检讨书
2015/05/05 职场文书
pytest配置文件pytest.ini的详细使用
2021/04/17 Python