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 相关文章推荐
IIS+PHP+MySQL+Zend配置 (视频教程)
Dec 13 PHP
PHP syntax error, unexpected $end 错误的一种原因及解决
Oct 25 PHP
初学CAKEPHP 基础教程
Nov 02 PHP
PHP通过header实现文本文件下载的代码
Aug 08 PHP
探讨PHP调用时间格式的参数详解
Jun 06 PHP
一个PHP针对数字的加密解密类
Mar 20 PHP
php实现将字符串按照指定距离进行分割的方法
Mar 14 PHP
php 静态属性和静态方法区别详解
Apr 09 PHP
浅谈php://filter的妙用
Mar 05 PHP
PHP+swoole+linux实现系统监控和性能优化操作示例
Apr 15 PHP
php变量与字符串的增删改查操作示例
May 07 PHP
PHP常量DIRECTORY_SEPARATOR原理及用法解析
Nov 10 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 正则表达式小结
2009/08/31 PHP
Pain 全世界最小最简单的PHP模板引擎 (普通版)
2011/10/23 PHP
WordPress中邮件的一些修改和自定义技巧
2015/12/15 PHP
php简单实现批量上传图片的方法
2016/05/09 PHP
PDO::quote讲解
2019/01/29 PHP
js动态设置div的值下例子
2013/10/29 Javascript
浅析jQuery1.8的几个小变化
2013/12/10 Javascript
js仿百度贴吧验证码特效实例代码
2014/01/16 Javascript
js中实现多态采用和继承类似的方法
2014/08/22 Javascript
jQuery中用dom操作替代正则表达式
2014/12/29 Javascript
自己编写的支持Ajax验证的JS表单验证插件
2015/05/15 Javascript
使用jquery给指定的table动态添加一行、删除一行
2016/10/13 Javascript
Validform表单验证总结篇
2016/10/31 Javascript
JavaScript Canvas绘制圆形时钟效果
2020/08/20 Javascript
nodejs取得当前执行路径的方法
2018/05/13 NodeJs
d3绘制基本的柱形图的实现代码
2018/12/12 Javascript
vue中多个倒计时实现代码实例
2019/03/27 Javascript
[01:51]2018年度CS GO最具人气外援-完美盛典
2018/12/16 DOTA
[06:07]DOTA2-DPC中国联赛 正赛 Ehome vs VG 选手采访
2021/03/11 DOTA
python实现给字典添加条目的方法
2014/09/25 Python
python通过邮件服务器端口发送邮件的方法
2015/04/30 Python
spark dataframe 将一列展开,把该列所有值都变成新列的方法
2019/01/29 Python
Linux上使用Python统计每天的键盘输入次数
2019/04/17 Python
set在python里的含义和用法
2019/06/24 Python
python打印直角三角形与等腰三角形实例代码
2019/10/20 Python
python实现ftp文件传输功能
2020/03/20 Python
python中slice参数过长的处理方法及实例
2020/12/15 Python
如何利用cmp命令比较文件
2016/04/11 面试题
祖国在我心中演讲稿500字
2014/05/04 职场文书
公司担保书格式范文
2014/05/12 职场文书
西安兵马俑导游词
2015/02/02 职场文书
《中彩那天》教学反思
2016/02/24 职场文书
导游词之平津战役纪念馆
2019/11/04 职场文书
Vue如何实现组件间通信
2021/05/15 Vue.js
Pandas数据类型之category的用法
2021/06/28 Python
Python经常使用的一些内置函数
2022/04/11 Python