【问题标题】:Relative path - dealing with files many directories away相对路径 - 处理许多目录之外的文件
【发布时间】:2011-10-20 20:54:11
【问题描述】:

自从我完成前端开发以来已经有一段时间了,我遇到了一些问题......我当前的文件在我的服务器上的这个位置:

/home/www/mysite/sites/all/custom_includes/roster/user_roster.php

我有一个 js 文件位于:

/home/www/lib/jquery/jquery.fancybox.js

如果它是我试图包含的 php 文件,我可以这样做:

$jsPath = '/home/www/lib/jquery';
require_once($jsPath.'/jquery.fancybox.js');

但它似乎不适用于脚本标签。我试过这样:

<script type="text/javascript" src="<?= $jsPath; ?>/jquery.fancybox.js"></script>

但它的计算结果为

<script type="text/javascript" src="/home/www/lib/jquery/jquery.fancybox-1.3.4.pack.js"></script>

这给了我一个找不到页面的错误。我是否在脚本 src 路径中使用 10,000 级 ../ 来获取文件?还是有更好的办法?

【问题讨论】:

    标签: javascript path


    【解决方案1】:

    在处理js的时候需要站在客户端的角度去思考。

    您的路径应该是: /lib/jquery/jquery.fancybox-1.3.4.pack.js

    客户端的路径是相对于您的 Web 服务器根目录的,在本例中为 /home/www 另请记住,如果不通过服务器端脚本,您将无法从客户端访问比 /home/www 更高级别的文件。

    【讨论】:

    • 我也试过了。它仍然给我一个找不到文件的错误。
    • 尝试直接从浏览器查看文件,看看是否正确。
    • 它仍然给我一个找不到文件的错误。但是当我在那个目录中粘贴一个php文件并使用require_once时,它发现它没有问题,所以我知道路径是正确的。
    • PHP 路径和 Web 服务器路径完全不同。例如:domain.com/example.js 不指向 /example.js 它将指向 /home/www/example.js(假设 /home/www/ 是您的 Web 服务器根目录)
    猜你喜欢
    • 1970-01-01
    • 2012-01-13
    • 2016-01-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多