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 相关文章推荐
第八节--访问方式
Nov 16 PHP
php 正则 过滤html 的超链接
Jun 02 PHP
PHP 内存缓存加速功能memcached安装与用法
Sep 03 PHP
用PHP读取和编写XML DOM的实现代码
Feb 03 PHP
优化PHP程序的方法小结
Feb 23 PHP
PHP取整函数:ceil,floor,round,intval的区别详细解析
Aug 31 PHP
配置php网页显示各种语法错误
Sep 23 PHP
php对关联数组循环遍历的实现方法
Mar 13 PHP
PHP编写RESTful接口
Feb 23 PHP
编写PHP脚本清除WordPress头部冗余代码的方法讲解
Mar 01 PHP
php投票系统之增加与删除投票(管理员篇)
Jul 01 PHP
Thinkphp3.2实用篇之计算型验证码示例
Feb 09 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中使用gettext来支持多语言的方法
2011/05/02 PHP
php使用json_encode对变量json编码
2014/04/07 PHP
浅谈php和.net的区别
2014/09/28 PHP
nginx+thinkphp下解决不支持pathinfo模式
2015/07/01 PHP
PHP实现小程序批量通知推送
2018/11/27 PHP
Dojo 学习笔记入门篇 First Dojo Example
2009/11/15 Javascript
jQuery LigerUI 使用教程入门篇
2012/01/18 Javascript
JS 获取浏览器和屏幕宽高等信息的实现思路及代码
2013/07/31 Javascript
用js来获取上传的文件名纯粹是为了美化而用
2013/10/23 Javascript
引用 js在IE与FF之间的区别详细解析
2013/11/20 Javascript
JS中getYear()和getFullYear()区别分析
2014/07/04 Javascript
全面了解JS中的匿名函数
2016/06/29 Javascript
jQuery实现的自定义滚动条实例详解
2016/09/20 Javascript
在node.js中怎么屏蔽掉favicon.ico的请求
2017/03/01 Javascript
AngularJS 支付倒计时功能实现思路
2017/06/05 Javascript
webpack配置之后端渲染详解
2017/10/26 Javascript
深入理解node.js http模块
2018/01/24 Javascript
JS实现的简单下拉框联动功能示例
2018/05/11 Javascript
详解一个基于react+webpack的多页面应用配置
2019/01/21 Javascript
vue 实现搜索的结果页面支持全选与取消全选功能
2019/05/10 Javascript
解决layui的form里的元素进行动态生成,验证失效的问题
2019/09/14 Javascript
antd-mobile ListView长列表的数据更新遇到的坑
2020/04/08 Javascript
python机器学习理论与实战(一)K近邻法
2021/01/28 Python
python实现批量解析邮件并下载附件
2018/06/19 Python
想学python 这5本书籍你必看!
2018/12/11 Python
python实时获取外部程序输出结果的方法
2019/01/12 Python
Python中new方法的详解
2019/01/15 Python
python中web框架的自定义创建
2019/09/08 Python
如何基于pythonnet调用halcon脚本
2020/01/20 Python
Python爬虫模拟登陆哔哩哔哩(bilibili)并突破点选验证码功能
2020/12/21 Python
CSS3盒子模型详解
2013/04/24 HTML / CSS
餐厅筹备计划书
2014/04/25 职场文书
教师师德师风自我剖析材料
2014/09/29 职场文书
2015年控辍保学工作总结
2015/05/18 职场文书
迁徙的鸟观后感
2015/06/09 职场文书
MySQL数据库优化之通过索引解决SQL性能问题
2022/04/10 MySQL