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+MSSQL分页的例子
Oct 09 PHP
解决中英文字符串长度问题函数
Jan 16 PHP
PHP5 面向对象程序设计
Feb 13 PHP
PHP $_FILES函数详解
Mar 09 PHP
163的邮件用phpmailer发送(实例详解)
Jun 24 PHP
支持中文、字母、数字的PHP验证码
May 04 PHP
ThinkPHP表单数据智能写入create方法实例分析
Sep 27 PHP
学习php设计模式 php实现备忘录模式(Memento)
Dec 09 PHP
Zend Framework教程之Resource Autoloading用法实例
Mar 08 PHP
PHP微信开发用Cache 解决数据缓存
Jul 11 PHP
PHP判断密码强度的方法详解
May 26 PHP
PHP数组式访问接口ArrayAccess用法分析
Dec 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
一个程序下载的管理程序(三)
2006/10/09 PHP
mysql 字段类型说明
2007/04/27 PHP
深入php list()函数的详解
2013/06/05 PHP
解析PHP自带的进位制之间的转换函数
2013/06/08 PHP
php解压缩zip和rar压缩包文件的方法
2019/07/10 PHP
PHP7 错误处理机制修改
2021/03/09 PHP
走出JavaScript初学困境—js初学
2008/12/29 Javascript
比较简单的异步加载JS文件的代码
2009/07/18 Javascript
js 浏览器事件介绍
2012/03/30 Javascript
基于mouseout和mouseover等类似事件的冒泡问题解决方法
2013/11/18 Javascript
JavaScript基础教程之alert弹出提示框实例
2014/10/16 Javascript
jQuery form插件之ajaxForm()和ajaxSubmit()的可选参数项对象
2016/01/23 Javascript
让DIV的滚动条自动滚动到最底部的3种方法(推荐)
2016/09/24 Javascript
Angular JS 生成动态二维码的方法
2017/02/23 Javascript
解析jquery easyui tree异步加载子节点问题
2017/03/08 Javascript
在 Node.js 中使用 async 函数的方法
2017/11/17 Javascript
JS加密插件CryptoJS实现的DES加密示例
2018/08/16 Javascript
解决Vue2.0中使用less给元素添加背景图片出现的问题
2018/09/03 Javascript
Vue 组件参数校验与非props特性的方法
2019/02/12 Javascript
vue-cli3项目打包后自动化部署到服务器的方法
2020/09/16 Javascript
python网络编程之读取网站根目录实例
2014/09/30 Python
详解Python使用Plotly绘图工具,绘制甘特图
2019/04/02 Python
Django项目使用CircleCI的方法示例
2019/07/14 Python
CSS3 三维变形实现立体方块特效源码
2016/12/15 HTML / CSS
大学生应聘自荐信
2013/10/11 职场文书
中学老师的自我评价
2013/11/07 职场文书
铁路个人事迹材料
2014/01/30 职场文书
目标责任书范本
2014/04/16 职场文书
中学生操行评语大全
2014/04/24 职场文书
优秀班集体先进事迹材料
2014/05/28 职场文书
团队激励口号
2014/06/06 职场文书
浙江省杭州市平均工资标准是多少?
2019/07/09 职场文书
史上最全书信经典范文大全(建议收藏)
2019/07/10 职场文书
如何开发一个渐进式Web应用程序PWA
2021/05/10 Javascript
React自定义hook的方法
2022/06/25 Javascript