php dirname(__FILE__) 获取当前文件的绝对路径
PHP 常量 dirname(__file__)
__FILE__ :被称为PHP魔术常量 ,返回当前执行PHP脚本的完整路径和文件名,包含一个绝对路径
1)dirname(__FILE__) 函数返回的是脚本所在在的路径。
比如文件 b.php 包含如下内容:
<?php $basedir = dirname(__FILE__); echo $basedir //将在页面打印出一个这个文件所在绝对路径! ?>
我做的测试得到结果: E:/website/othertest/cms
这个相当于, asp中的server.mappth的用法
如果b.php被其他目录里的a.php文件require 或者 include 去引用的话。 变量$basedir 的内容还是b.php所在的那个文件夹的路径。 而不是变成a.php文件所在的目录。
2)dirname(__FILE__) 一般会返回文件所的当前目录到系统根目录的一个目录结构。
不会返回当前的文件名称。 dirname(__FILE__) 也可能返回一个 . (当前目录) [原因是 b.php 文件在 http.conf 或者 PHP 配置开发环境的默认WEB目录下
几个 PHP 的“魔术常量”
名称 说明
__LINE__ 文件中的当前行号。
__FILE__ 文件的完整路径和文件名。如果用在包含文件中,则返回包含文件名。自 PHP 4.0.2 起,__FILE__ 总是包含一个绝对路径,而在此之前的版本有时会包含一个相对路径。
__FUNCTION__ 函数名称(PHP 4.3.0 新加)。自 PHP 5 起本常量返回该函数被定义时的名字(区分大小写)。在 PHP 4 中该值总是小写字母的。
__CLASS__ 类的名称(PHP 4.3.0 新加)。自 PHP 5 起本常量返回该类被定义时的名字(区分大小写)。在 PHP 4 中该值总是小写字母的。
__METHOD__ 类的方法名(PHP 5.0.0 新加)。返回该方法被定义时的名字(区分大小写比如当前文件是放在(d:\www\)下,文件名是test.php。
测试的代码如下:
<?php echo __FILE__ ; // 取得当前文件的绝对地址,结果:D:\www\test.php echo dirname(__FILE__); // 取得当前文件所在的绝对目录,结果:D:\www\ echo dirname(dirname(__FILE__)); //取得当前文件的上一层目录名,结果:D:\ ?>
使用方法提示,
dirname(__FILE__) 取到的是当前文件的绝对路径,也就是说,比起相对路径,查找速度是最快的。
如果重复一次可以把目录往上提升一个层次:
比如:$d = dirname(dirname(__FILE__));
其实就是把一个目录给dirname()做参数了.因为dirname()返回最后的目录不带\\或者是/
所以重复使用的时候可以认为 dirname() 把最下层的目录当成文件名来处理了.照常返回
当前目录的上级目录.这样重复就得到了它的上一级的目录.
包含得到上一级目录的文件
include(dirname(__FILE__).'/../filename.php');
__FILE__的路径是当前代码所在文件
dirname(dirname(__FILE__));得到的是文件上一层目录名
dirname(__FILE__);得到的是文件所在层目录名
相关推荐
-
PHP上传文件时自动分配路径的方法
本文实例讲述了PHP上传文件时自动分配路径的方法.分享给大家供大家参考.具体分析如下: 网站上传文件时,如果是小的企业站,放在一个目录还没问题,当网站大了,上传的文件多了,我们就不能放在同一个目录了,这里我们就来讲讲用PHP自动给上传的文件分配路径的方法. PHP分配上传文件的路径实例 主要程序片段如下: 复制代码 代码如下: <?php /*数字方式分配路径*/ function allotPath($id, $extend='jpg') { $folders = st
-
PHP 获取文件路径(灵活应用__FILE__)
__FILE__ ,是返回文件的完整路径和文件名.如果用在包含文件中,则返回包含文件名.自 PHP 4.0.2 起,__FILE__ 总是包含一个绝对路径,而在此之前的版本有时会包含一个相对路径.dirname(__FILE__),返回当前文件路径的部分路径,也就是去掉文件名. 演示代码: 复制代码 代码如下: <?php // 获取文件的当前路径 + 文件名 echo __FILE__; echo '<BR>'; // 获取文件的当前路径 echo dirname(__FILE__);
-
PHP获取文件相对路径的方法
本文实例讲述了PHP获取文件相对路径的方法.分享给大家供大家参考.具体实现方法如下: <?php $a = '/a/b/c/d/e.php'; $b = '/a/b/12/34/c.php'; //../../12/34/c.php echo getRelativelyPath($a,$b); //求$b相对于$a的相对路径 function getRelativelyPath($a,$b){ $a=explode('/',$a); $b=explode('/',$b); var_dump($a
-
php获取文件夹路径内的图片以及分页显示示例
复制代码 代码如下: <div style="width: 90%; margin: 10px auto; border: 1px solid #ccc; text-align: center"> <?php $page=isset($_GET['page'])?$_GET['page']:0;//从零开始 $imgnums = 10; //每页显示的图片数 $path="upload"; //图片保存的目录
-
php获取url字符串截取路径的文件名和扩展名的函数
php获取文件名 复制代码 代码如下: function retrieve($url) { preg_match('/\/([^\/]+\.[a-z]+)[^\/]*$/',$url,$match); return $match[1]; } php获取文件扩展名 复制代码 代码如下: <?php function getExt($url) { $path=parse_url($url); $str=explode('.',$path['path']); return $str[1]; } ech
-
使用PHP求两个文件的相对路径
复制代码 代码如下: function compare($ph1,$ph2){ $ret = ''; $_f1Arr = explode("/",$ph1); $_f2Arr = explode("/",$ph2); $f1 = array_pop($_f1Arr); $f2 = array_pop($_f2Arr); for($i=0;$i<count($_f1Arr);$i++){ if($_f1Arr[$i]
-
PHP获取文件绝对路径的代码(上一级目录)
PHP获取文件绝对路径 复制代码 代码如下: <?php echo __FILE__ ; // 取得当前文件的绝对地址,结果:D:\www\test.php echo dirname(__FILE__); // 取得当前文件所在的绝对目录,结果:D:\www\ echo dirname(dirname(__FILE__)); //取得当前文件的上一层目录名,结果:D:\ ?> chdir() 函数 定义和用法 chdir() 函数把当前的目录改变为指定的目录. 若成功,则该函数返回 true,
-
php dirname(__FILE__) 获取当前文件的绝对路径
PHP 常量 dirname(__file__) __FILE__ :被称为PHP魔术常量 ,返回当前执行PHP脚本的完整路径和文件名,包含一个绝对路径 1)dirname(__FILE__) 函数返回的是脚本所在在的路径. 比如文件 b.php 包含如下内容: <?php $basedir = dirname(__FILE__); echo $basedir //将在页面打印出一个这个文件所在绝对路径! ?> 我做的测试得到结果: E:/website/othertest/cms 这个相当于
-
Vue项目如何获取本地文件夹绝对路径
目录 一.前端代码 1.弹框样式代码 2.导入方法(不要忘记了导入方法和data定义) 3.方法区代码 4.api接口中的config.js代码 二.后端代码 controller层代码 service接口interface service层代码impl 总结 Vue项目,实现获取本地的绝对文件夹路径的解决方案 一.前端代码 vue项目下的index中代码如下 1.弹框样式代码 <el-dialog title="" :append-to-body="true"
-
python3获取当前文件的上一级目录实例
因为使用python+selenium有时候需要获取当前文件的上一级目录,找了一段时间找到了,在此记录下来: os.path.dirname(os.path.dirname(os.path.abspath(__file__))) 这个是获取当前文件的上一级目录 sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) 这个是把路径添加到系统的环境变量 os.path.abspath(os.path.
-
dirname(__FILE__)的含义和应用说明
__FILE__表示当前所在文件的绝对路径包括文件名,dirname(__FILE__)表示当前文件的绝对路径,basename(__FILE__)表示当前文件的文件名称,dirname(__FILE__)."/f/".basename(__FILE__)则表示当前文件所在目录下的f目录下的,文件名称为dirname(__FILE__)的文件,require表示包含该文件到这个文件. 下面是详解: 1)dirname(__FILE___) 函数返回的是脚本所在在的路径. 比如文件 b.
-
bash shell获取当前脚本的绝对路径(pwd/readlink)
有时候,我们需要知道当前执行的输出shell脚本的所在绝对路径,可以用dirname实现.我们知道 dirname 可以获取一个文件所在的路径,dirname的用处是: 输出已经去除了尾部的”/”字符部分的名称:如果名称中不包含”/”,则显示”.”(表示当前目录). 下面是dirname的命令行说明: 从上面的描述可知道,直接从dirname返回的未必是绝对路径,取决于提供给dirname的参数是否是绝对路径.所以下面这样的代码中SHELL_FOLDER中不一定是绝对路径 SHELL_FOLDE
-
php getcwd与dirname(__FILE__)区别详解
__FILE__是魔术常量,用于获取文件的完整路径和文件名.如果用在被包含文件中,则返回被包含的文件名. 下面我们通过实例来介绍getcwd与dirname(__FILE__)区别. 文件/folder/random/foo.php的代码如下: <?php echo getcwd() . "\n"; echo dirname(__FILE__) . "\n" ; echo "-------\n"; include 'bar/bar.php'
-
PHP获取当前文件的父目录方法汇总
方法一:先获得当前文件所在文件夹的长度,然后用substr来截取掉该长度: 复制代码 代码如下: $dirName = str_replace("\\", "/", dirname(__FILE__)); $dirNameLength = strlen($dirName); $currentDirNameLength = $dirNameLength - strrpos($dirName,"/"); //获得当前文件所在文件夹的长度! $p
-
python获取当前文件路径以及父文件路径的方法
#当前文件的路径 pwd = os.getcwd() #当前文件的父路径 father_path=os.path.abspath(os.path.dirname(pwd)+os.path.sep+".") #当前文件的前两级目录 grader_father=os.path.abspath(os.path.dirname(pwd)+os.path.sep+"..") 追加部分代码实例 def TestPrtPwd(self): print("获取当前文件路径
-
Python 获取指定文件夹下的目录和文件的实现
经常有需要扫描目录,对文件做批量处理的需求,所以对目录处理这块做了下学习和总结.Python 中扫描目录有两种方法:os.listdir 和 os.walk. 一.os.listdir 方法 os.listdir() 方法用于返回指定的目录下包含的文件或子目录的名字的列表.这个列表以字母顺序.其得到的是仅当前路径下的文件名,不包括子目录中的文件,如果需要得到所有文件需要递归. 它也不包括 '.' 和 '..' 即使它在目录中. 语法格式如下: os.listdir(path) 实例代码 def
-
JS获取当前脚本文件的绝对路径
当写模块加载器时,获取当前脚本文件的绝对路径作为基础路径是必不可少的一步,下面我们一起来探讨一下这个问题吧! 一.各大浏览器的实现方式 [a]. Chrome和FF 超简单的一句足矣! var getCurrAbsPath = function(){ return document.currentScript.src; }; 这里利用了对象 document.currentScript ,它返回的是当前执行的script元素:然后调用script元素的src属性即可获取脚本文件的绝对路径. [b
随机推荐
- angularJS Provider、factory、service详解及实例代码
- angular.js之路由的选择方法
- 按扩展名分类批处理bat文件
- Asp.Net使用服务器控件Image/ImageButton显示本地图片的方法
- 使用nvm管理不同版本的node与npm的方法
- PHP关于htmlspecialchars、strip_tags、addslashes的解释
- C#获取两个数的最大公约数和最小公倍数示例
- PHP面向对象程序设计OOP继承用法入门示例
- php将mysql数据库整库导出生成sql文件的具体实现
- vue-cli+webpack记事本项目创建
- Bootstrap基本插件学习笔记之Popover提示框(19)
- 你的jquery ajax无效和你的jquery引入路径有关
- kesion科讯V4.0管理员Key工具
- JavaScript数组和循环详解
- jQuery图片切换动画效果
- Linux 4.9内核正式发布!来看看更新了什么?
- Java中==与equals的区别小结
- jQuery DOM操作实例
- JS获取input file绝对路径的方法(推荐)
- js getElementsByTagName的简写方式