Heim >php教程 >php手册 >PHP中__FILE__、dirname与basename用法实例分析

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

WBOY
WBOYOriginal
2016-06-06 20:16:271558Durchsuche

这篇文章主要介绍了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__ . "
"; //输出 F:\xampp\htdocs\wordpress\wp-content\plugins\wp-smtp\wp_smtp_admin.php
echo dirname(__FILE__) . "
"; //输出 F:\xampp\htdocs\wordpress\wp-content\plugins\wp-smtp
echo basename(__FILE__) . "
"; //输出 wp_smtp_admin.php


二、测试wordpress自带的一些函数:

复制代码 代码如下:

echo plugin_basename(__FILE__) . "
"; //输出wp-smtp/wp_smtp_admin.php
echo dirname(plugin_basename(__FILE__)) . "
"; //输出 wp-smtp
echo plugin_dir_url(__FILE__) . "
"; //输出
echo plugin_dir_path(__FILE__) . "
"; //输出 F:\xampp\htdocs\wordpress\wp-content\plugins\wp-smtp/
echo plugins_url() . "
"; //输出
echo plugins_url('',__FILE__) . "
"; //输出
echo plugins_url('/img/blq_32_32.jpg',__FILE__)  . "
"; //输出


好了现在我们来看看这dirname与basename相关说明

dirname() 函数返回路径中的目录部分,basename() 函数返回路径中的文件名部分,从这里我们就不难看出上面的结果了.

希望本文所述对大家的PHP程序设计有所帮助。

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn