php绝对路径与相对路径之间关系的的深入研究

保姆级教程:Win10/Win11系统下ArcGIS 10.2中文版完整安装与破解(含License Manager启动失败解决方案) 本文提供Windows 10/11系统下ArcGIS 10.2中文版的完整安装与破解教程,重点解决License Manager启动失败等常见问题。从安装准备、破解文件处理到最终配置验证,详细指导用户完成每一步操作,确保软件正常运行。特别针对主机名修改、端口占用等疑难问题提供专业解决方案。 阅读详情

php中好像不能像asp那样用“/”表示根目录,代之以$_SERVER['DOCUMENT_ROOT'],其它则相同:../表示向上一层。./表示当前层。假如现在a/b/c/s.php要调用根目录下的 /bb/s2.txt,则:

$RootDir = $_SERVER['DOCUMENT_ROOT']; 
$fireDir = "$RootDir/bb/s2.txt";

或者:“../../../bb/s2.txt”表示向上返回到b再向上到a再向上到根目录然后到bb下。

前一阵子老是受php开发中,文件互相引入require()相对位置关系的困扰,为了彻底弄清它们的关系,笔者做了个实验。

以下是实验图:

当前项目(project2)的绝对路径是:D:\www\php_case\Coucom_make。也就是我们当前项目的根目录root.
  
为了能更加清楚的表述不同级别的目录文件相互的引入问题,偶大胆将引用分成三种类型即:上级对下级的引用(简称上级引用,英文译为:superior to underling。简称(stou)).

下级对上级的引用(简称下级引用,英文反之便是)

平级引用或叫同级引用(英文:paratactic)。  
 
好了,我们明确了引用类型,下面我们来看不同类型引用它们有着什么样的规则。

我们先来说说上级引用:

看我们的实验图,在图中项目下分别有aa bb ee 三个同级目录和一个index.php文件,在bb下又有cc目录,cc下又有dd目录和cc.php ccc.php两个文件,同样dd下也包含一个dd.php文件。凡是上层对下层均属上级引用.

例如:index.php对于所有文件的引用: 
   cc .php对dd.php的引用: 
   ee.php对dd.php的引用:

大家仔细看一下目录结构,便会发现这三种引用虽然同属于上级引用,但它们又不完全相同,我把它分成两种情况:即在上级引用中存在两种引用情况:1.从属的上级引用(类如cc.php对dd.php,,因为这两个文件同属于cc目录)2.非从属的上级引用(类如index.php对于所有文件的引用和ee.php对dd.php的引用都属于这种情况因为它们与被引用的文件并没有一个共同的父目录,在能相对于站点根目录).

对于从属上级引用:

以下是在cc.php对dd.php的引用

require('dd/dd.php');

对于非从属上级引用:

以下是在ee.php中对cc.php的引用

require('../bb/cc/cc.php');

以上所说的是上级引用,下面我们来了解一下下级引用!同理下层对上层的引用都属于下级引用,同样分成从属与非从属两类,从属下级引用相对路径以它们的父目录为根目录,例如:

Ttt.php对bbff.php的引用就属于这种情况:require('../bb/cc/cc.php');

非从属的下级引用却是以网站的根目录为准的,例如:

ccc.php对ee.php的引用: require('../../ee/ee.php');

以上是下级引用的介绍,最后我们来看一下平级引用或者叫同级引用,其实同级引用也是分为这两种情况:从属同级引与非从属同级引用

从属同级引用很简单:即在同一个目录下的两个文件的引用

例如:在dd.php中引用ttt.php require('ttt.php');

非从属同级引用:即不在同一个目录下(没有共同的父目录,只有以网站目站为父目录的情况),但是级别是相同的两个文件的引用,例如: 在aa.php在引用ee.php   require('../ee/ee.php');

以上是三种类型不同情况下的引用,另外还有涉及到嵌套引用的问题

比如:

ff.php引用dd.php,而dd.php又引用的gf.php,这种情况,本来dd.php 引用gf.php属于下级引用中的非从属引用,写法是这样的:require('../../../ee/gf.php');而ff.php引用dd.php属于上级引用中的从属引用,写法是这样的:require('./cc/dd/dd.php'); 可是你会发现在ff.php中无法找到gf.php文件,那该如何写呢?我告诉你应该在dd.php中这样写:require('../ee/gf.php');只有这样写就正确了,为什么呢?因为在涉及到嵌套引用的时候被引用文件的相对路径要以最终的引用文件为准!

简而言之:

其实很简单的,你用你的web根目录做根目录.不管你怎么定,你文件肯定有一个全部都要包含的文件的,比如有的较global.php,有的较common.php

假如这个文件放再根目录

wwwroot/global.php

里面第一行你加个chdir(dirname(__FILE__)); //切换到global.php所在目录就是跟目录

其他文件使用

require "../../../global.php"; 
require "aa/aa.php"; 
require "bb/bb/cc.php";

这样就行了,因为你的global.php已经把路径切换到wwwroot了,你不用像很多人那么麻烦

define('ROOT_PATH',dirname(__FILE__)); 
require ROOT_PATH.....

chdir(dirname(__FILE__)); 的确很好使,相对位置引入这个文件其他引入文件只要以他为基准就好了。

CY7C68013 C0模式启动 C0或是C2启动的目的,是更改USB芯片的ID信息,并把固件载入到芯片内部RAM中运行。C0模式是指只从EEPROM中载入USB ID信息,因为只有ID信息(8个字节),所以只需要一个小容量的EEPROM即可。当然大容量的EEPROM也可以使用C0模式,但是小容量的EEPROM只能使用C0模式启动。如下图所示: 使用小容量的EEPROM要将A0,A1,A2接地。 这里我用了个24LC01,容量1 阅读详情

相关推荐

Unity UI适配实战:从Canvas Scaler到主流游戏适配方案解析

本文深入解析Unity UI适配的核心技术,重点介绍Canvas Scaler组件的关键参数如Reference Resolution和Screen Match Mode,并提供主流游戏适配方案实战分析。通过九宫格拉伸、动态调整等技巧,帮助开发者解决多设备适配难题,提升游戏UI在不同分辨率下的表现。

weixin_29001419的博客 971

同一级目录如何表示

当前目录: ./文件名 同一级目录: ../文件名 上上级目录: ../../文件名 下级目录: 目录名/文件名 上上级目录: ../../文件名 下级目录: 目录名/文件名 从根目录开始: /文件名/文件名 ...

hello 1万+

我的AI学习 ai维护工具之langfuse

as_type: Optional[Literal[‘generation’]] = None, # 将记录定义为 Observation (LLM 调用)transform_to_string: Optional[Callable[[Iterable], str]] = None # 将输出转为 string。要用LangFuse的云服务,首先要在LangFuse官网上注册,注册完后将页面拉倒最后,点免费的SignUp,API文档:https://api.reference.langfuse.com/

liubaobin的博客 4095

python引用文件

python引用文件,并且解决引用文件后,运行文件输出引用文件的输出问题

LvvvvHxH的博客 1127

从零到一:使用阿里云百炼搭建企业级 AI Agent 完全实战手册(2026超详细版)

本文是一份企业级AI Agent构建手册,主要面向企业技术负责人、AI产品经理和后端开发工程师。手册详细介绍了如何在阿里云百炼平台上搭建企业智能体应用的全流程,包括环境准备、知识库构建、智能体创建、工具集成、工作流编排等核心环节。重点内容包括: 准备工作:阿里云账号注册、百炼服务开通、免费额度领取、API Key管理 知识库构建:文档格式要求、内容优化原则、RAG系统搭建 智能体开发:Agent创建、工具集成、复杂业务工作流设计 生产部署:多渠道接入、监控运维、安全治理 成本控制:Token预算管理、选型决

u010323587的专栏 1082

PCF8591实战指南:从IIC通信到STM32的ADC/DAC配置(附完整代码)

本文详细介绍了PCF8591芯片在STM32开发中的实战应用,涵盖IIC通信协议、ADC/DAC配置及完整代码实现。通过解析DATA SHEET关键参数,提供硬件连接指南、控制字节配置技巧和常见问题解决方案,帮助开发者快速掌握这款8位模数/数模转换器的使用,实现精确的模拟信号处理。

y7z8a的博客 539

HTML中相对路径的方式引用文件

一、不同目录下文件的引用 假设index.html与test.html位于不同文件下: <a href="../index.html">index.html</a> 这里的"…/“表示当前目录下的上一级目录,”…/…/"则表示当前目录下的上上级目录,依次类推。 假如index.html位于user文件夹下时,要从下级目录下链接到index.html页面,则应写成如下形式: <a href="../user/index.html>index.html</a>

Record_Algorithm 2374

Ego-Planner实战避坑指南:从环境搭建到仿真运行

本文详细介绍了在Windows系统下,通过WSL2搭建Ego-Planner无人机路径规划算法开发环境的完整流程与实战避坑指南。内容涵盖ROS Noetic安装、第三方依赖库(如Ceres Solver)编译冲突解决、Realsense SDK版本降级处理,以及Gazebo仿真与真机调试的常见问题,旨在帮助开发者高效完成环境配置并成功运行仿真。

weixin_29232507的博客 699

引用同一文件夹中的文件

如果是pycharm,则不会默认当前目录已经在环境变量中,需要配置一下:参考这篇https://www.cnblogs.com/dongfengl/p/8458365.html。(如果要引入同一目录下的dealcode.py文件中的一个类Hello,在admin.py文件中加一行:from .dealcode import Hello)可以直接在__init__.py中import,在该目录下的文件都可以使用__init__.py文件中import的东西。1、在目录下有__init__.py文件。

qq_58457020的博客 474

【020】C++ 动态内存管理解析:new 和 delete 的正确使用

C++中的动态内存分配是在程序运行时根据需要进行内存空间的分配和释放,与静态内存分配相比,具有更大的灵活性和适应性。动态内存分配可以通过new和delete或者malloc()和free()等函数实现。在程序运行时无法确定所需的内存大小。需要在多个函数之间共享数据,并且数据可能被频繁地创建和销毁。静态数组无法满足需求,例如需要支持可变长度数组。如果在动态分配内存后忘记了释放它,则会导致内存泄漏。为避免内存泄漏,可以使用智能指针或手动管理内存的方式来释放动态分配的内存。

Lion_Long的博客 1470

从零开始学习PX4源码20(遥控器模式切换如何执行)

本节主要学习PX4的手动遥控器切换模式,具体是如何实现的,具体改变了哪些变量,和模式管理有什么联系。

陌城烟雨 316

php绝对路径与相对路径之间关系的的深入研究http://evanwukong.blog.163.com/blog/static/13483649520117105319400/...

php绝对路径与相对路径之间关系的的深入研究 2010-03-03 10:02 [小大] 来源: 中国站长站综合评论:0转发至: 站长交易(http://jy.chinaz.com)友情链接交换企业建站找313建站大师,招分销商 核心提示:php中好像不能像asp那样用“/”表示根目录,代之以$_SERVER['DOCUMENT_ROOT'],其它则相同:../表示...

weixin_30311605的博客 100

【人工智能】架构师必读:大模型时代的意图识别 (Intent Recognition) 四大技术流派与实践指南

意图识别没有“银弹”,选择哪种方案取决于具体的业务需求、数据积累以及成本预算。如果追求极简与低成本,BERT 是不二之选。如果业务极其复杂且依赖上下文,RAG 或 Agent 模式更合适。如果追求极致的稳定与效果,基于 LLM 的微调 + Function Calling 是目前的行业最佳实践。参考资源:基于 LLM 的意图识别解决方案(Embedding 相关课程章节)

奶爸的编程之路,也就一周冷个三天 702

php绝对路径、相对路径和URL

使用`$_SERVER['HTTP_HOST']`来获取当前服务器的主机名,`$_SERVER['PHP_SELF']`来获取当前脚本的路径,通过`dirname`函数获取当前文件夹的路径,最后将它们拼接成URL。使用`dirname(__FILE__)`可以获取当前文件的绝对路径,再通过`dirname`函数获取当前文件夹的路径。请注意,以上方法是常用的获取当前文件夹路径和URL的方式,但具体的应用场景可能会有所不同,可以根据实际需求进行适当调整。使用`'./'`表示当前文件夹的相对路径。

php-yyds 1477

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

php中相对路径和绝对路径如何使用(详解)

php中相对路径和绝对路径如何使用(详解) 一、总结 一句话总结: 1、php中好像不能像asp那样用“/”表示根目录,代之以$_SERVER['DOCUMENT_ROOT'],其它则相同:../表示向上一层。./表示当前层。 2、dirname('__FILE__')和$_SERVER['DOCUMENT_ROOT']是表示根目录,这个根目录是绝对路径,但是会随着你的项目移动而...

weixin_30709809的博客 1897

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

php 浅谈相对路径与绝对路径(../ ./ / )

     在php中  绝对路径是指目录下的绝对位置,直接到达目标位置,通常是从盘符开始的路径。            eg:   C:\Windows\debug\WIA\a.txt     window中是反斜杠 \      linux中为 /    相对路径为以一个参照为基准,找到你所需要的文件,即相对路径是相对于目标目录的相对路径。                  常见表示方式...

Au 2万+

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

PHP 相对路径与绝对路径的区别

目录 PHP 相对路径与绝对路径的区别 问题描述 思考 使用绝对路径解决问题 总结 补充 php目录分隔符DIRECTORY_SEPARATOR PHP 相对路径与绝对路径的区别 问题描述 首先我们先来看一下我们这个例子的目录结构以及这三个文件的内容 a.php <?php include './c/d.php' b.php <?php ...

ppxin的专栏 953

php查看当前的相对路径,PHP相对路径和绝对路径常见处理方法

一、绝对路径和相对路径常见用法绝对路径示例:$droot="/var/www/html/";//网站根目录//$droot="D:/xampp/htdocs/";//网站根目录require_once($droot."include/cfg.php");使用上文第一种绝对路径方法,该方法虽然笨拙,不大好看,对于小WEB程序够用即可。相对路径示例:require_once("../include/c...

weixin_30232185的博客 1658

【php】相对路径/绝对路径报错?

文章

iuukai 1903

php 使用绝对路径,浅谈php中使用绝对路径和相对路径_PHP教程

下面看两段代码:代码一:相对地址访问[php]代码二:绝对地址访问[php]先把这两个放一下,让我们来讲纯的html代码(ps:现在是测试,那么我就写的简略点,但是能得出结果)代码一:相对地址 (test_image_1.html)[html] 代码二:绝对地址 (test_image_2.html)[html] view plaincopy(ps:图片目录:C:/Program Files/Ze...

weixin_33856202的博客 859
上一篇: PHP通过iconv将字符串从GBK转换为UTF8字符集
下一篇: RSync实现文件备份同步
zbtree
博客等级 码龄23年 33粉丝 8原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值