Rumah  >  Artikel  >  pembangunan bahagian belakang  >  php__FILE__、dirname与basename区别用法实例分析

php__FILE__、dirname与basename区别用法实例分析

伊谢尔伦
伊谢尔伦asal
2017-06-29 10:59:201212semak imbas

这篇文章主要介绍了PHP中FILE、dirnamebasename用法,以实例形式较为详细的分析了FILE、dirname与basename的具体用法,并测试对比了WordPress中自带的函数,需要的朋友可以参考下

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


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

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

Atas ialah kandungan terperinci php__FILE__、dirname与basename区别用法实例分析. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn