【问题标题】:PHP and absolute path with subfoldersPHP 和带有子文件夹的绝对路径
【发布时间】:2016-12-09 13:51:50
【问题描述】:

我检查了很多问题,但都不清楚。 我在服务器上有一个网站,路径是:C:/inetpub/websiteconf.php 文件中我有绝对路径路由:

define('ROOT', '');
define('CSS', ROOT . 'css/');
define('JS', ROOT . 'js/');
define('IMG', ROOT . 'images/');
define('SUBF', ROOT . 'subfolder/');

我在网站(根)文件夹中的 index.php 文件包含 url:

<script src="'.JS.'jquery-1.11.1.js"></script>
<script src="'.CSS.'jquery-ui.js"></script>
<script src="'.JS.'test.js"></script>

它可以工作,但如果我的另一个文件在C:/inetpub/website/subfilfer 中,那么我很难访问这些位置。 例如子文件夹中的 index.php 源包含:

<script src="js/jquery-1.11.1.js"></script>
<script src="css/jquery-ui.js"></script>
<script src="js/test.js"></script>

它不会起作用,因为这个网址正在查看subfolder/js/filename

【问题讨论】:

  • 它适用于define('ROOT', '/' . basename(dirname(__FILE__)).'/'); 我不确定是否正确

标签: php html url


【解决方案1】:

我会这样做。

$root = $_SERVER['DOCUMENT_ROOT'];
define('CSS', $root . '/css/');
define('JS', $root . '/js/');
define('IMG', $root . '/images/');
define('SUBF', $root . '/subfolder/');

【讨论】:

    【解决方案2】:

    将您的 define('ROOT', ''); 更改为 define('ROOT', '/');

    【讨论】:

    • 然后我在ROOT 文件夹中的主要index.php 试图从&lt;script src="/js/jquery-1.11.1.js"&gt;&lt;/script&gt; C:/inetpub 但不是从/website 中选择文件
    【解决方案3】:

    也许可以尝试使用魔法常数

    __DIR__

    __DIR__ 总是给你当前的目录,所以也许用__DIR__代替ROOT

    这样更好,因为如果你使用 ROOT,例如你将你的网站移动到子文件夹,那么所有的 aths 都会搞砸

    【讨论】:

    • 声明('ROOT',DIR);你是说?
    猜你喜欢
    • 1970-01-01
    • 2022-10-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-17
    • 2010-12-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多