PHP中的相对URL/路径

5

你好,这是我第一次在这里提问。

我有一个图像的源地址:

src="images//images/pixel.gif" 

但是我不理解在src中出现的双斜杠(//)。

另外,像下面出现在src中的相对文件路径中"./"和"../"的含义是什么:

src="./images/pixel.gif" 
src="../images/pixel.gif" 

如果有人能够通过类似的情况来解释它:您正在从www文件夹访问index.php,并且其中有一个images文件夹,您希望src包括来自此文件夹的图像。 - shivgre
对于这种情况,您可以使用相对于php文件的图像文件引用images/pixel.gif - felixgaal
2个回答

12

初始的 / 表示网页根目录。

名称为 . 的目录项表示当前目录。如果在开头,通常意味着“这里”,并且主要用于澄清路径是相对于当前位置的。

名称为 .. 的目录项表示父目录。因此,这意味着向上进入目录树。

如果有两个或更多连续的 /,则会取消先前的所有路径并替换为网页根目录。

话虽如此,

src="images//images/pixel.gif" 意味着 /images/pixel.gif(直接在根目录下,一个名为images的文件夹,然后是该文件)。

src="./images/pixel.gif" 表示加载页面所在的同一目录中的一个名为 images 的目录(包含对图像的引用的那个目录)。记住“这里”的概念。也可以直接写成src="images/pixel.gif"

src="../images/pixel.gif" 表示向上进入包含加载页面的父目录,然后进入名为 images 的目录。记住“父级”概念。

希望对您有所帮助!


这很有帮助,但是为什么images//images意味着/images。谢谢解释。 - shivgre
1
事实是 // 总是取消先前的路径并替换为根路径。文件路径总是按照定义的方式行事。没有改变这一点的机会。 - felixgaal
1
这只适用于PHP还是所有其他语言,如JSP、ASP? - Md. Yusuf
@Md.Yusuf 这适用于在Linux(可能也适用于Windows)服务器上进行文件管理。 - shivgre

5
  1. 在大多数情况下,//与/相同。
  2. '.'表示当前目录,'..'表示上一级目录。

    /app/test/files/somefile.php, /app/test/files/another.php, /app/test/css/somecss.css

如果您想在somefile.php中访问somecss.css,但不知道从应用程序根目录开始的绝对路径,则可以编写:

../css/somecss.css -> 进入父文件夹test然后进入css文件夹最后是somecss.css文件

同样,如果要访问another.php,则编写

./another.php或只需another.php


你回答了我的第一个问题。但是我不理解在我已经在评论中提供的场景中,./和../之间的区别。 - shivgre
@Fèlix Galindo Allué:谢谢,如果这个问题不错的话,请顺手给它点个赞。 - shivgre

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接