這篇文章主要介紹了PHP中__FILE__、dirname與basename用法,以實(shí)例形式較為詳細(xì)的分析了__FILE__、dirname與basename的具體用法,并測(cè)試對(duì)比了WordPress中自帶的函數(shù),需要的朋友可以參考下
本文實(shí)例講述了PHP中__FILE__、dirname與basename用法。分享給大家供大家參考。具體方法如下:
在php中__FILE__當(dāng)前運(yùn)行文件的完整路徑和文件名,如果用在被包含文件中,則返回被包含的文件名,這是一個(gè)魔法變量(預(yù)定義常量),我們可以通用dirname與basename來(lái)獲取文件目錄或文件名.
一、__FILE__與dirname(__FILE__)與basename(__FILE__)使用:
通常在配置文件路徑的時(shí)候用dirname(__FILE__)是非常有效的方法,但是因?yàn)開(kāi)_FILE__的路徑是當(dāng)前代碼所在文件(而不是url所在文件)完整路徑,所以定義配置文件通常要放在根目錄下定義網(wǎng)站的根地址,但是下面的方法可以解決配置文件的存放問(wèn)題,代碼如下:
復(fù)制代碼代碼如下:
dirname(dirname(__FILE__));
假設(shè)__FILE__為 /home/web/config/config.php,上面的方法輸出為 /home/web
dirname(dirname(__FILE__));得到的是文件上一層目錄名
dirname(__FILE__);得到的是文件所在層目錄名
假設(shè)現(xiàn)在的目錄及文件結(jié)構(gòu)如下,我們所要測(cè)試的變量在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
測(cè)試結(jié)果如下,代碼如下:
復(fù)制代碼代碼如下:
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
二、測(cè)試wordpress自帶的一些函數(shù): 復(fù)制代碼代碼如下:
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
好了現(xiàn)在我們來(lái)看看這dirname與basename相關(guān)說(shuō)明
dirname() 函數(shù)返回路徑中的目錄部分,basename() 函數(shù)返回路徑中的文件名部分,從這里我們就不難看出上面的結(jié)果了.
希望本文所述對(duì)大家的PHP程序設(shè)計(jì)有所幫助。