PHP 路径详解 dirname,realpath,__FILE__,getcwd
PHP 路径详解 dirname,realpath,__FILE__,getcwd
PHP 路径详解php __dir__,,
比如:程序根目录在:E:wampwww 中
1. 获取当前文件的绝对路径(目录 + 文件名及其后缀)
如果在index.php中调用,则返回 E:wampwwwindex.php
下面再看一下,程序根目录的目录结构
如果在 .php中调用 则返回:E:wampwww\.php
2、() 返回当前目录的上级目录,或当前文件所在的目录 (结尾不带/)
() 一般跟联合使用,其参数可以是文件(返回文件的目录),也可以是目录(返回上一级目录)
如果在 .php中调用() 则返回
E:wampwww\ (文说件返回所在目录)
如果调用 (()) 参数先文件后目录都调用了,则返回
E:wampwww (目录返回上级目录)
3、() 返回当前文件的绝对路径 或 相对根目录的路径
如果在 .php中调用() 则返回
E:wampwww\.php
其它参数返回值(仍然在 E:wampwww\.php 中执行 ):
(‘/’) 返回磁盘根目录 E: ()或 / (linux)
(‘./’) 返回当前所在的目录 E:wampwww\
(‘../’) 返回相对程序根目录的上级目录,即程序根目录的目录 E:wampwww
() 也可以和() 配合使用 一般还会加上几个相对路径../ (前面要加/ 即:/../)
(()) 返回 E:wampwww\
(().’/../’) 返回 E:wampwww
(().’/../../’) 返回 E:wampwww
示例代码:
vim /Users/homer/////doc/buy/index.php
<?php require_once(dirname(__FILE__) . "/../doc_header.php"); echo "document.title = '隧道代理 - 产品文档 - 文档中心 - 米扑代理' "; echo "
buy/index.php __FILE__ : " . __FILE__; echo "
buy/index.php __DIR__ : " . __DIR__; echo "
buy/index.php dirname(__FILE__) : " . dirname(__FILE__); echo "
buy/index.php dirname(dirname(__FILE__)) : " . dirname(dirname(__FILE__)); echo "
buy/index.php getcwd() : " . getcwd(); echo "
buy/index.php realpath('/') : " . realpath('/'); echo "
buy/index.php realpath(__FILE__) : " . realpath(__FILE__); echo "
buy/index.php realpath(realpath(__FILE__)) : " . realpath(realpath(__FILE__)); echo "
buy/index.php realpath('./') : " . realpath('./'); echo "
buy/index.php realpath('../') : " . realpath('../'); echo "
buy/index.php realpath('../../') : " . realpath('../../');echo "
buy/index.php realpath('../../../') : " . realpath('../../../'); echo "
buy/index.php realpath('../../../../') : " . realpath('../../../../'); echo "
buy/index.php realpath('../../../../../') : " . realpath('../../../../../'); echo "
buy/index.php basename(__FILE__) : " . basename(__FILE__); echo "
buy/index.php basename(basename(__FILE__)) : " . basename(basename(__FILE__)); echo "
buy/index.php filesize(__FILE__) : " . filesize(__FILE__); echo "
buy/index.php file_exists(__FILE__) : " . file_exists(__FILE__); echo "
buy/index.php file_exists(dirname(__FILE__)) : " . file_exists(dirname(__FILE__)); echo "
buy/index.php json_encode(pathinfo(__FILE__)) : " . json_encode(pathinfo(__FILE__)); echo "
buy/index.php var_dump(pathinfo(__FILE__)) : "; var_dump(pathinfo(__FILE__)) ?>
运行结果:
注:在 index.php 当前目录下运行PHP 路径详解 dirname,realpath,__FILE__,getcwd,会影响 () 工作目录即当前目录
buy/index.php __FILE__ : /Users/homer/Downloads/myCode/workspace/proxy_client/doc/buy/index.php buy/index.php __DIR__ : /Users/homer/Downloads/myCode/workspace/proxy_client/doc/buy buy/index.php dirname(__FILE__) : /Users/homer/Downloads/myCode/workspace/proxy_client/doc/buy buy/index.php dirname(dirname(__FILE__)) : /Users/homer/Downloads/myCode/workspace/proxy_client/doc buy/index.php getcwd() : /Users/homer/Downloads/myCode/workspace/proxy_client/doc/buy buy/index.php realpath('/') : / buy/index.php realpath(__FILE__) : /Users/homer/Downloads/myCode/workspace/proxy_client/doc/buy/index.php buy/index.php realpath(realpath(__FILE__)) : /Users/homer/Downloads/myCode/workspace/proxy_client/doc/buy/index.php buy/index.php realpath('./') : /Users/homer/Downloads/myCode/workspace/proxy_client/doc/buy buy/index.php realpath('../') : /Users/homer/Downloads/myCode/workspace/proxy_client/doc buy/index.php realpath('../../') : /Users/homer/Downloads/myCode/workspace/proxy_client buy/index.php realpath('../../../') : /Users/homer/Downloads/myCode/workspace buy/index.php realpath('../../../../') : /Users/homer/Downloads/myCode buy/index.php realpath('../../../../../') : /Users/homer/Downloads buy/index.php basename(__FILE__) : index.php buy/index.php basename(basename(__FILE__)) : index.php buy/index.php filesize(__FILE__) : 4190 buy/index.php file_exists(__FILE__) : 1 buy/index.php file_exists(dirname(__FILE__)) : 1 buy/index.php json_encode(pathinfo(__FILE__)) : {"dirname":"/Users/homer/Downloads/myCode/workspace/proxy_client/doc/buy","basename":"index.php","extension":"php","filename":"index"} buy/index.php var_dump(pathinfo(__FILE__)) : /Users/homer/Downloads/myCode/workspace/proxy_client/doc/buy/index.php:33: array (size=4) 'dirname' => string '/Users/homer/Downloads/myCode/workspace/proxy_client/doc/buy' (length=60) 'basename' => string 'index.php' (length=9)'extension' => string 'php' (length=3) 'filename' => string 'index' (length=5)
PHP 常用获取文件目录的方式
() :显示是在哪个文件(显示其目录,即工作目录)里调用此文件的目录(即当前工作目录的路径),可用来获取框架入口文件所在目录。
:当前内容写在哪个文件就显示这个文件目录,即写着 文件的目录。
: 当前内容写在哪个文件就显示这个文件目录+文件名,可使用()获取当前文件目录名。
文字介绍了一遍,还是一脸懵逼,没搞懂,那么就举例:
上图,目录关系与运行结果
1)最后运行的见上图底部: .dev/.php,即工作文件
2)被引用文件,就是当前文件,写入了着:() 和
执行完毕 .php 工作文件后:
1)() 获取了 .php 工作文件的工作目录,即 xxx\ ( .php 工作文件在 / 目录下)
2) 当前内容写在哪个文件就显示这个文件目录,test.php 文件写着这个,就显示 test.php 文件的目录 xxx\kkk
3) 当前内容写在哪个文件就显示这个文件目录+文件名,即显示 test.php 文件的目录 xxx\kkktest.php
所以PHP 路径详解 dirname,realpath,__FILE__,getcwd,() 得到的是引入文件(工作文件)的工作路径(目录),但得到的是当前文件的实际路径(目录)
()和 比较
PHP 获取当前脚本(文件)所在目录的绝对路径,() 和 都可以实现。
那么什么情况下用 ()php __dir__,什么情况下用 呢?它们之间有什么区别?
1、功能和效率
()由两部分组成, 魔术变量和 () 函数。
是当前脚本的绝对路径,通过 () 函数后,就可以获得脚本所在目录的绝对路径。
举个栗子,有个 hello.php 文件,其部署在服务器的目录是:/home/www//hello.php
那么,
的值就是:/home/www//hello.php
() 返回就是:/home/www//
如果我们在 hello.php 用 全局变量,就可以直接获得所在目录的绝对路径:/home/www//php __dir__,和 () 效果完全一样。
在实现同样功能的情况下,()多了一层函数调用。
结论: 比 () 在效率上有优势,推荐使用
2、PHP版本支持
和 () 函数从 PHP 4.0.2 就开始启用。
变量则是 PHP 5.3.0 新增的。(比较新,需考虑版本,目前php都支持了吧)
所以,如果你的PHP版本大于等于PHP 5.3.0,建议使用 。
否则,最好还是用 (),以确保程序不会出错。
参考推荐:
PHP 文件操作常用函数
PHP 常用函数总结(数组,字符串,时间,文件操作)
PHP 路径详解 ,,,
PHP 获取网页标题(title)、描述()、关键字()等meta信息
PHP 下载保存文件到本地
PHP下载远程图片
PHP抓取网站ico图标
PHP + + 抓取米扑科技首页
PHP 文件导入 , , , 区别
1. 本站所有资源来源于用户上传和网络,如有侵权请联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系站长处理!
6. 本站不售卖代码,资源标价只是站长收集整理的辛苦费!如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。
7. 站长QQ号码 2205675299
资源库 - 资源分享下载网 » PHP 路径详解 dirname,realpath,__FILE__,getcwd
常见问题FAQ
- 关于资源售价和售后服务的说明?
- 代码有没有售后服务和技术支持?
- 有没有搭建服务?
- 链接地址失效了怎么办?
- 关于解压密码