Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php:包含文件中的相对路径_Php_Html_Relative Path - Fatal编程技术网

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

我有一个html文件images.html,它在子目录“img”中显示图像。它使用相对路径访问子目录中的图像

当我在index.php中执行以下操作时,一切都会出错:

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');