php相对路径和绝对路径的区别

php相对路径和绝对路径的区别

首先我们先来看一下我们这个例子的目录结构以及这三个文件的内容。

a.php

<?php      include './c/d.php'

登录后复制

b.php

<?php      define('__B', 'this is a test');

登录后复制登录后复制登录后复制

c/d.php

<?php      include '../b.php';     var_dump(__B);

登录后复制

在c目录下面的d.php文件,引用了它的上级目录下的 b.php 文件,单独运行 c/d.php 的时候不会出问题,但是,如果在和b同级目录下的a.php引用c/d.php的话,就会出问题了,它会报错说文件不存在。

立即学习“PHP免费学习笔记(深入)”;

思考:

大概意思就是 a.php 把 c/d.php 引入到 a.php 中后, include ‘../b.php’ 这个路径就是相对于 a.php 来说的了,然后对于 a.php 来说的这个相对路径它是不存在的,所以就出现了这个问题。如果一个文件可能在多个地方被引用的时候使用相对路径就相当容易出问题,然后我们使用绝对路径能够轻松解决这个问题。

使用绝对路径解决问题

a.php

<?php     include __DIR__.'/../b.php';    var_dump(__B);

登录后复制

b.php

<?php      define('__B', 'this is a test');

登录后复制登录后复制登录后复制

c/d.php

<?php      define('__B', 'this is a test');

登录后复制登录后复制登录后复制

这样就改成了对文件的绝对路径进行引用了, __DIR__ 是php5.3开始中就有的预定义的魔术常量,表示这个文件所在的目录,然后我们利用这个来可以写出绝对路径,在运行a.php和c/d.php的时候都能够正常执行了,如果在php5.3之前都是使用dirname(__FILE__)来替代 __DIR___。

总结:在php中绝对路径是指目录下的绝对位置,直接到达目标位置,通常是从盘符开始的路径;相对路径为以一个参照为基准,找到你所需要的文件即相对路径是相对于目标目录的相对路径。

以上内容仅供参考!

推荐教程:PHP视频教程

以上就是php相对路径和绝对路径的区别的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2154694.html

(0)
上一篇 2025年2月25日 06:21:44
下一篇 2025年2月22日 16:41:32

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • php写入mysql中文乱码

    php写入mysql出现中文乱码的解决办法是:在建立数据库连接之后,将该连接的编码方式改为中文。 代码如下: $linkID=@mysql_connect(“localhost”,”root”,”admin”);if(!$linkID){ …

    2025年2月25日
    200
  • php写入txt乱码

    相信很多人在使用php的过程中都遇到过生成文件乱码的情况,不论是使用fwrite还是file_put_contents写入。可能你会先尝试从编码入手尝试解决,但最终的结果往往是不理想的,尽管我们都将其转换为了utf-8编码了… …

    2025年2月25日
    200
  • php写入数据库乱码

    对于乱码这个问题php开发者几乎都会有碰到过,我们下面主要是介绍了php mysql数据库连接时乱码解决方法。 MYSQL数据库使用UTF-8编码的问题1.用phpmyadmin创建数据库和数据表创建数据库的时候,请将“整理”设置为:“ut…

    2025年2月25日
    200
  • php写入文件不覆盖

    file_put_contents():向文件中写入内容并且不覆盖之前的内容。 步骤: 1、新建文件 2、声明要写入内容的文件 立即学习“PHP免费学习笔记(深入)”; 3、这个文件的内容如图 4、file_get_contents读出文件…

    2025年2月25日 编程技术
    200
  • php提供了什么来实现反射

    就算是类成员定义为private也可以在外部访问,不用创建类的实例也可以访问类的成员和方法。 PHP自5.0版本以后添加了反射机制,它提供了一套强大的反射API,允许你在PHP运行环境中,访问和使用类、方法、属性、参数和注释等,其功能十分强…

    2025年2月25日
    200
  • php探针如何利用

    话说我的网站就是用的win环境的虚拟主机,其实选主机还是要做的心中有数,不要被某些空间商忽悠了。所谓“无奸不商”这句话还是有它存在的意义,既然我们不能相信“天下无贼”,那俺们就只有提高警惕。 购买空间的童鞋应该都知道,在淘宝买空间的时候,那…

    2025年2月25日
    200
  • php探针不显示内存

    本文介绍下php探针代码不显示cpu、内存、硬盘等信息的原因与处理方法,在使用php探针时遇到的一些问题。 本节内容: php探针显示的cpu、内存、硬盘信息(推荐学习:PHP编程从入门到精通) 一般php探针不显示以上信息的原因如下: 立…

    2025年2月25日
    200
  • php算设计优秀的语言吗

    php真的是世界上最好的语言吗? 仔细看下去,你会发现这其实是一个梗,PHP非但很难说是最好的语言,甚至常年位于编程语言鄙视链的下游。(推荐学习:PHP编程从入门到精通) 诚然,PHP有自己的历史包袱,设计上有许多不合理之处,但它是为了快速…

    2025年2月25日
    200
  • php算跨平台吗

    跨平台概念是软件开发中一个重要的概念,即不依赖于操作系统,也不依赖硬件环境。 一个操作系统下开发的应用,放到另一个操作系统下依然可以运行。相对而言如果某种计算机语言不用修改代码即可做到高度跨平台,那么此语言就越抽象,硬件控制力就越低,只适合…

    2025年2月25日
    200
  • php常用的算法有哪些

    php相关的基础算法有四个,分别是:冒泡排序法,快速排序法,选择排序法,插入排序法 1:冒泡排序法 介绍:(推荐学习:PHP编程从入门到精通) 冒泡排序是一种简单的排序算法。它重复地走访过要排序的数列,依次比较两个元素,如果他们的顺序错误就…

    2025年2月25日
    200

发表回复

登录后才能评论