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 作用域解析运算符(::)
Jul 27 PHP
php设计模式 Chain Of Responsibility (职责链模式)
Jun 26 PHP
调试一段PHP程序时遇到的三个问题
Jan 17 PHP
基于curl数据采集之单页面采集函数get_html的使用
Apr 28 PHP
基于curl数据采集之正则处理函数get_matches的使用
Apr 28 PHP
深入解读php中关于抽象(abstract)类和抽象方法的问题分析
Jan 03 PHP
php保存二进制原始数据为图片的程序代码
Oct 14 PHP
php查询ip所在地的方法
Dec 05 PHP
php简单实现MVC
Feb 05 PHP
php数组随机排序实现方法
Jun 13 PHP
PHP获取当前日期及本周一是几月几号的方法
Mar 28 PHP
laravel中的fillable和guarded属性详解
Oct 23 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
iis下php mail函数的sendmail配置方法(官方推荐)
2012/04/25 PHP
php需登录的文件上传管理系统
2020/03/21 PHP
PHP手机短信验证码实现流程详解
2018/05/17 PHP
PHP观察者模式示例【Laravel框架中有用到】
2018/06/15 PHP
php对微信支付回调处理的方法
2018/08/23 PHP
关于viewport,Ext.panel和Ext.form.panel的关系
2009/05/07 Javascript
Jquery 弹出层插件实现代码
2009/10/24 Javascript
node.js中的buffer.fill方法使用说明
2014/12/14 Javascript
Eclipse编辑jsp、js文件时卡死现象的解决办法汇总
2016/02/02 Javascript
轻松掌握jQuery中wrap()与unwrap()函数的用法
2016/05/24 Javascript
node.js报错:Cannot find module 'ejs'的解决办法
2016/12/14 Javascript
运用jQuery写的验证表单(实例讲解)
2017/07/06 jQuery
JS基于正则表达式实现的密码强度验证功能示例
2017/09/21 Javascript
javascript填充默认头像方法
2018/02/22 Javascript
nodejs中express入门和基础知识点学习
2018/09/13 NodeJs
JavaScript继承与聚合实例详解
2019/01/22 Javascript
使用Node.js在深度学习中做图片预处理的方法
2019/09/18 Javascript
js函数柯里化的方法和作用实例分析
2020/04/11 Javascript
JavaScript仿京东轮播图效果
2021/02/25 Javascript
零基础写python爬虫之抓取百度贴吧并存储到本地txt文件改进版
2014/11/06 Python
Python中的测试模块unittest和doctest的使用教程
2015/04/14 Python
Python实现将Excel转换为json的方法示例
2017/08/05 Python
Python 数据处理库 pandas 入门教程基本操作
2018/04/19 Python
使用Python自动化破解自定义字体混淆信息的方法实例
2019/02/13 Python
Python分析彩票记录并预测中奖号码过程详解
2019/07/09 Python
Python迭代器iterator生成器generator使用解析
2019/10/24 Python
Python依赖包迁移到断网环境操作
2020/07/13 Python
python 实现汉诺塔游戏
2020/11/28 Python
利用CSS3的线性渐变linear-gradient制作边框的示例
2016/06/02 HTML / CSS
新闻系毕业生推荐信
2013/11/16 职场文书
售前工程师职业生涯规划
2014/03/02 职场文书
小学评语大全
2014/04/22 职场文书
2014年客户经理工作总结
2014/11/20 职场文书
出国签证在职证明范本
2014/11/24 职场文书
2015最新婚礼主持词
2015/06/30 职场文书
SQLServer2008提示评估期已过解决方案
2021/04/12 SQL Server