关于PHP 以相对路径的引用

PHP 之中存在的路径分为相对引用与绝对引用,‘./‘和‘../‘,这两种称之为相对引用。相对引用,这个相对是指的是运行脚本所在的目录,即:运行脚本的当前目录。

如果a.php,去include另外一个b.php,同时这个b.php又在相对引用另外一个b.html。那么引用之后b.html是相对a还是b呢?

见下图代码:

<?php
header("content-type:text/html;charset=utf8");

include(‘./b/b.php‘);
echo  __FILE__;
?>
<?php
header("content-type:text/html;charset=utf8");
echo __FILE__;
include(‘./b.html‘);
echo __FILE__;

?>

他们之间的目录关系:

a.php

b

b.php

b.html

运行a.php后:是找不到b.html

那么我们看打印的__FILE__,   D:\warmp\wamp\www\b\b.php  D:\warmp\wamp\www\b\b.php  D:\warmp\wamp\www\a.php

当include(‘./b/b.php‘)之后,就相当于把b.php加载到了a.php之中了,这个时候b.php里面include(‘./b.html‘),这个相对路径就是,相对的是a.php 了,所以相对路径,相对的是运行脚本所在的目录,那么我们再看看__FILE__,虽然被include之后但是返回的路径,还是没有被调用之前所在的路径。

手册中解释__FILE__:文件的完整路径和文件名。如果用在被包含文件中,则返回被包含的文件名。自 PHP 4.0.2 起,__FILE__ 总是包含一个绝对路径(如果是符号连接,则是解析后的绝对路径),而在此之前的版本有时会包含一个相对路径。

这和我们的运行结果是一致的。

时间: 2024-11-08 21:14:32

关于PHP 以相对路径的引用的相关文章

Qt学习总结(C鱼)之路径参数引用

1.引用相对路径: 例如: QCursor cursor(QPixmap("1.png")); 问题:会发现引用失败,这是因为相对路径都是从当前工作目录开始找起文件的.可以通过以下函数获取当前工作目录: bool QDir::setCurrent ( const QString & path ) [static] 然后会发现当前工作目录是C:\Users\Administrator,与之不符.所以可以考虑将当前工作目录重新设置,而另一个问题,因为Qt是将工程目录和程序目录放在两

webpack+vuecli打包生成资源相对引用路径与背景图片的正确引用

资源相对引用路径 问题描述 一般情况下,通过webpack+vuecli默认打包的css.js等资源,路径都是绝对的. 但当部署到带有文件夹的项目中,这种绝对路径就会出现问题,因为把配置的static文件夹当成了根路径,那么要解决这种问题,就得引用相对路径. 解决办法 打开webpack.prod.conf.js 找到output:增加 publicPath: './', 即可,如图. 那么这样后,资源的引用路径就正确了. 当然在config文件夹下的index.js中修改 assetsPubl

(转)CSS与JS中的相对路径引用简单介绍

javascript和css文件中采用相对路径,其基准路径是完全不同的. 1.javascript引用资源(比如图片)相对路径是以宿主路径(被引用的网页比如你在首页index.php引用了某js文件,则index.php即为宿主)所处位置为基准. 2.css引用资源(比如图片)相对路径是以.css文件所处位置为基准! 大家在html中通常会导入一些外部的css.js文件,而其中一个比较容易被忽视的问题就是路径问题,有时候,我们在css.js中都有通过路径来引入一张图片的需求,当我们采用相对路径的

引用外部.css或.js文件的路径问题

转载自:http://www.blogjava.net/Johnny-Ajun/archive/2011/06/16/352440.html jsp或html页面引用外部.css或.js文件时,注意路劲问题,如果设置不当,会引用不到这些外部的文件假设使用下面的目录结构: -webapp |-MyProject  目录  |--WebContent 目录  |---scripts 目录   ---dtree.js 文件  |---styles 目录   ---main.css 文件   |---p

文件引用--相对路径与绝对路径

绝对路径——指带域名的文件的完整路径. 以Web站点根目录为参考基础的目录路径.之所以称为绝对,意指当所有网页引用同一个文件时,所使用的路径都是一样的. 相对路径—— 以引用文件(网页)所在位置为参考基础,而建立出的目录路径.因此,当保存于不同目录的网页引用同一个文件时,所使用的路径将不相同,故称之为相对. 绝对路径与相对路径的不同处,只在于描述目录路径时,所采用的参考点不同.由于对网站上所有文件而言,根目录这个参考点对所有文件都是一样的,因此,运用以根目录为参考点的路径描述方式才会被称之为绝对

ASP.NET MVC 文件上传和路径处理

ASP.NET MVC 文件上传和路径处理总结 目录 文件的上传和路径处理必须解决下面列出的实际问题: 1.重复文件处理 2.单独文件上传 3.编辑器中文件上传 4.处理文章中的图片路径 5.处理上传地址的变化 一.上传文件和重复文件处理 文件处理的原则是:不在数据库中保存文件,只在数据库中保存文件信息(Hash值等).采取文件的MD5重命名文件在一般情况足够处理文件的重复问题,强迫症倾向则可以考虑将MD5和其他摘要算法结合. public static string Save(HttpPost

对象是否有被引用判断及垃圾收集算法

1.引用计数算法 给对象中添加一个计数器,每当一个地方引用它时,计数器值就加1:当引用失效时就减1.如果两个对象存在相互的引用,尽管这两个引用已经不再被使用,但还是不能被清除.通过一些实验可得SUN公司的JVM没有采用这种算法. 2.根搜索算法 该算法的基本思路是通过一系列的名为"GCRoots" 的对象作为起点,从这些起点开始向下搜索.搜索所通过的路径(引用链:Reference chain),当一个对象到GC Roots没有任何引用链相连时,则证明此对象是不可用的.在JAVA里可用

虚拟路径的转换

using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } p

强(strong)、软(soft)、弱(weak)、虚(phantom)引用

https://github.com/Androooid/treasure/blob/master/source/lightsky/posts/mat_usage.md 1.1 GC Root JAVA虚拟机通过可达性(Reachability)来判断对象是否存活,基本思想:以"GC Roots"的对象作为起始点向下搜索,搜索形成的路径称为引用链,当一个对象到GC Roots没有任何引用链相连(即不可达的),则该对象被判定为可以被回收的对象,反之不能被回收. GC Roots可以是以下