PHP中__FILE__、dirname与basename用法实例分析

 更新时间:2014年12月01日 11:19:01   投稿:shichen2014  
这篇文章主要介绍了PHP中__FILE__、dirname与basename用法,以实例形式较为详细的分析了__FILE__、dirname与basename的具体用法,并测试对比了WordPress中自带的函数,需要的朋友可以参考下

本文实例讲述了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中get_magic_quotes_gpc()函数说明

    php中get_magic_quotes_gpc()函数说明

    get_magic_quotes_gpc函数是一个用来判断是否为用户提供的数据增加斜线了,这个在php.ini配置文件中哦,本文将介绍一下get_magic_quotes_gpc()函数说明。下面跟着小编一起来看下吧
    2017-02-02
  • PHP is_numeric()函数用法详解

    PHP is_numeric()函数用法详解

    is_numeric()函数是PHP中的内置函数,用于检查传入函数中作为参数的变量是数字还是数字字符串,该函数返回一个布尔值,本文就给大家讲讲PHP is_numeric()函数使用方法,需要的朋友可以参考下
    2023-07-07
  • Php图像处理类代码分享

    Php图像处理类代码分享

    一个php图片处理类,和网上的存在的不同,该类只有一个公共方法,通过在实例化对象的时候给$type参数传不同的值,从而实现不同功能
    2012-01-01
  • 修改php.ini不生效问题解决方法(上传大于8M的文件)

    修改php.ini不生效问题解决方法(上传大于8M的文件)

    上传大于8M的文件需要修改php的配置才可以生效,搜索好多的参考资料,结果修改还是没有生效,经过一番折腾终于找到了解决方法,下面与大家分享了
    2013-06-06
  • PHP写入WRITE编码为UTF8的文件的实现代码

    PHP写入WRITE编码为UTF8的文件的实现代码

    可以把uft-8格式的文件,写到文本中的实现代码
    2008-07-07
  • php调用自己java程序的方法详解

    php调用自己java程序的方法详解

    这篇文章主要介绍了php调用自己java程序的方法,较为详细的分析了php基于第三方jar包调用java程序以及使用dll动态链接库文件扩展进行java调用两种方法,需要的朋友可以参考下
    2016-05-05
  • phpmyadmin导入(import)文件限制的解决办法

    phpmyadmin导入(import)文件限制的解决办法

    最近一次在用phpmyadmin备份mysql数据库时,没有分段大小,一下子备份了一百多M的sql数据;在导入的时候,提示超过2M导入限制,前一段时间,遇到过一次,后来利用网站后台的自动分段处理了;这次又遇到这个问题,决心解决一下。
    2009-12-12
  • php 8小时时间差的解决方法小结

    php 8小时时间差的解决方法小结

    前几天发现一个问题 date("Y-m-d G:i T",time()) 取出来的时间和本地时间老差8个小时,可我的系统明明是中国标准时(GMT+8),最后终于找到了问题所在。
    2009-12-12
  • 浅析php数据类型转换

    浅析php数据类型转换

    这篇文章主要介绍了php数据类型转换,有需要的朋友可以参考一下
    2014-01-01
  • 1亿条数据如何分表100张到Mysql数据库中(PHP)

    1亿条数据如何分表100张到Mysql数据库中(PHP)

    这篇文章主要介绍了当数据量猛增的时候如何把一亿条数据分表100张到Mysql数据库中,需要的朋友可以参考下
    2015-07-07

最新评论