Php 在子文件夹中包含html文件时重新定义文档根目录

Php 在子文件夹中包含html文件时重新定义文档根目录,php,Php,浏览我的网站时,用户将登陆: mysite.com/index.php 我希望包含子文件夹中的完整html文件,而不使用iframe 例如,在目录中可以找到: www/index.php(用户正在浏览的文件) www/subfolder/otherpage.html(要包括的页面 www/subfolder/images/something.jpg(子文件夹的资产) 当我在根文件夹中包含otherpage.html时,所有路径都不正确 我的问题是:如何将根目录重置为mysite.com/subf

浏览我的网站时,用户将登陆:

mysite.com/index.php

我希望包含子文件夹中的完整html文件,而不使用iframe

例如,在目录中可以找到:

www/index.php(用户正在浏览的文件)
www/subfolder/otherpage.html(要包括的页面
www/subfolder/images/something.jpg(子文件夹的资产)

当我在根文件夹中包含
otherpage.html
时,所有路径都不正确

我的问题是:如何将根目录重置为
mysite.com/subfolder/
,以便
otherpage.html
可以从
index.php
中正确包含

完成
index.php

<?php

include('subfolder/otherpage.html');

?>

您尝试了什么?因此不会向您提供现成的脚本。 您可能需要使用常量或变量。或者,如果确实无法更改otherpage.html,则可能需要手动替换路径

<?php
ob_start();
include 'subfolder/otherpage.html';
$output = ob_get_contents();
$output = str_replace( 'mysite.com/', 'mysite.com/subfolder/', $output );
print $output;
?>

如果您查看大多数大型软件包,它们的常量都是用application root、images dir、uploads dir……等定义的。然后您会包含一个文件,如:
include(application_root./whatever.php'))
这是建议的方法。您可以做的其他事情是,chdir将更改php的工作目录,以便相对包含的文件将来自该目录,或者您可以更改包含路径,该路径是php查找包含的文件的路径列表。