【问题标题】:what is src for script tags when they are in php include files脚本标签在 php 包含文件中时的 src 是什么
【发布时间】:2014-05-08 18:42:37
【问题描述】:

如果我有一个包含 <script src = > 标签的 php 包含文件,那么 src 相对于哪里? 它是相对于原始文件还是包含文件?

如果有人能在我移动网站时为我提供一个非常好的参考,并且所有路径都出来了,并且有 php 包含路径、css 路径、图像路径和 javascript 路径,它们都有不同的规则集现在我大脑超负荷,所以寻求帮助:(

谢谢

【问题讨论】:

  • 这需要两分钟来测试。
  • 为了让你的头脑清楚,考虑哪个组件实际加载资源可能会有所帮助。例如,<script> 元素引用的脚本由 Web 浏览器加载。因此,它们是相对于浏览器正在解析的网页的 URL。浏览器将不了解 PHP 包含链,该链会拉入输出 <script> 元素的代码。它只是解析生成的网页。
  • 随便放点东西,然后打开控制台加载页面。查看 404 条路径。或使用getcwd()

标签: javascript php


【解决方案1】:

由于src 属性是由浏览器在读取 HTML 时评估的,因此它将与浏览器中的路径相关。例如,如果页面位于http://example.com/posts/show.php,则src="script.js" 将转到http://example.com/posts/script.js

也可以通过使用绝对路径使其独立于 URL:src="/script.js" 将指向 http://example.com/script.js

【讨论】:

    【解决方案2】:

    如果您在 PHP 中包含文件,则相当于在处理之前将包含的文件复制并粘贴到原始文件中。所以路径是相对于执行包含的文件的。

    文件夹/文件.php:

    <?php
    
    echo("<img src='flower.png'>");
    
    ?>
    

    index.php:

    <?php
    
    include("folder/file.php");
    
    ?>
    

    在本例中,flower.png 仅在与 index.php 位于同一目录中时才会显示

    尽量使用绝对网址,例如:

    http://localhost/this/stuff.php

    http://yoursite.com/this/stuff.php

    而不是this/stuff.php

    【讨论】:

      【解决方案3】:

      包含函数通常按照它说的做。它将数据包含到您的文件中,这意味着包含的数据将像来自您包含的文件一样。所以它是相对于原始文件的。

      http://www.php.net/manual/en/function.include.php

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-02-02
        • 1970-01-01
        • 1970-01-01
        • 2016-09-14
        • 2019-07-17
        相关资源
        最近更新 更多