Heim  >  Artikel  >  php教程  >  PHP中__FILE__与dirname与basename的用法

PHP中__FILE__与dirname与basename的用法

WBOY
WBOYOriginal
2016-06-02 09:13:401278Durchsuche

在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自带的一些函数://www.phprm.com

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(&#39;&#39;,__FILE__) . "<br />"; //输出 http://localhost/wordpress/wp-content/plugins/wp-smtp 
echo plugins_url(&#39;&#39;,__FILE__)  . "<br />"; //输出 http://localhost/wordpress/wp-content/plugins/wp-smtp/img/blq_32_32.jpg

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

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


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