【问题标题】:php script includes html in different directoryphp脚本包含不同目录中的html
【发布时间】:2015-11-14 15:46:29
【问题描述】:

我有一个用 PHP 编写的表单处理程序,它位于与 html 文件不同的目录中。当处理程序运行时,它需要包含其中一个 html 文件。 html 文件中有相对的 href,因为页面是从 PHP 目录而不是 html 目录提供的,所以会中断。

例如 index.html 包含

<link rel="stylesheet" type="text/css" href="css/site_global.css?4013920463"/>

这些链接由 Adob​​e Muse 生成,并期望“css”是 html 文件所在位置下的子目录,并且页面是从 html 目录提供的。同样,由于我从 PHP 目录提供页面,因此相关链接会中断。

没有为hrefs添加绝对路径,还有其他我应该考虑的技术吗?我真的不想输入绝对路径,因为它们会因为其他原因而中断。

理想情况下,我想使用某种方法允许我在浏览器中设置“工作路径”——这样我就可以告诉它从正确的位置获取 href。

【问题讨论】:

    标签: php html href


    【解决方案1】:

    浏览器中的相对路径是根据当前页面路径计算的(请参阅here)。如果您正在查看 http://foo.bar/one/page.html ,则 site_global.css 路径将为 http://foo.bar/one/css/site_global.css

    如果我理解了您的问题,您可以使用该元素为页面中的所有相关链接设置一个基本 URL。

    请看这里:https://developer.mozilla.org/en-US/docs/Web/HTML/Element/base

    【讨论】:

    • 所以,在包含 html 文件之前,我应该使用 PHP 发出一行 html。它看起来像:example.com/html">。我试试看。
    【解决方案2】:

    尝试 $_SERVER['DOCUMENT_ROOT'],给出当前工作目录的基本目录路径

    尝试 echo realpath(dirname(FILE));

    【讨论】:

    • 这适用于 PHP,但在获取 hrefs 时对浏览器没有任何作用。
    猜你喜欢
    • 2017-07-12
    • 1970-01-01
    • 2012-07-10
    • 1970-01-01
    • 2010-12-25
    • 1970-01-01
    • 2023-03-07
    • 2010-09-23
    • 1970-01-01
    相关资源
    最近更新 更多