php:包含文件中的相对路径
我有一个html文件images.html,它在子目录“img”中显示图像。它使用相对路径访问子目录中的图像 当我在index.php中执行以下操作时,一切都会出错:php:包含文件中的相对路径,php,html,relative-path,Php,Html,Relative Path,我有一个html文件images.html,它在子目录“img”中显示图像。它使用相对路径访问子目录中的图像 当我在index.php中执行以下操作时,一切都会出错: require_once("dir1/dir2/images.html"); 现在,相对路径是相对于我的index.php,而不是dir1/dir2/images.html,我看不到我的图像。是否有一种方法可以使路径相对于包含的文件images.html 目录结构 index.php dir1 dir2 im
require_once("dir1/dir2/images.html");
现在,相对路径是相对于我的index.php,而不是dir1/dir2/images.html,我看不到我的图像。是否有一种方法可以使路径相对于包含的文件images.html
目录结构
index.php
dir1
dir2
images.html
img
flower.png
index.php
<?php require_once("dir1/dir2/images.html"); ?>
images.html
<img src="img/flower.png" />
这是一个HTML问题,不是PHP问题 当您使用浏览器访问
/dir1/dir2/images.html
时,浏览器使用/dir1/dir2
作为相对路径的基础(因此相对路径img/flower.png
解析为/dir1/dir2/img/flower.png
)。当您访问/index.php
时,它使用/
作为基础(因此img/flower.png
给出了/img/flower.png
,无法找到)
您可以:
- 为图像使用绝对路径(例如
)/dir1/dir2/img/…
- 使用为所有相对路径(包括链接、CSS等)设置新的基础-编辑:在您的情况下,这可能不是一个好主意:)
文件的完整路径和文件名。如果在包含中使用,则返回包含文件的名称。由于PHP4.0.2,文件始终包含一个绝对路径,并解析符号链接,而在旧版本中,在某些情况下它包含相对路径 PHP的内部工作不会影响在浏览器中加载图像的方式。显示更多信息:你的
标记有什么路径,它们在哪里?这个问题与PHP和包含文件的方式无关(包含的文件中没有PHP)。这是关于浏览器的路径分辨率。
include(dirname(__FILE__).'/include.php');