PHP全局路径设置

时间:2011-08-01 16:29:12

标签: php url path global

我有这个设置。

 root dir| 
       index.php
       config.php
       file.php  |
                 |
                 |scripts|a.js
                 |
                 |account
                         |index.php
                         |         |
                         |member   |index.php
  • 现在,我已将成员dir的index.php包含到account dir的index.php中。此外,帐户index.php包含config.php,其中包含

    define( 'PATH', (__DIR__) );
    

现在,对于我使用的帐户index.php中的所有包含,

require_once( PATH . '\file.php' ); 

并且正常运作。但是当我尝试添加脚本src的路径时,例如

<script type="text/javascript" src="<?php '.PATH.'scripts/livevalidation.js ?>"></script>

我收到错误,所以如何使用全局定义的路径将脚本文件夹中的a.js包含到account.php中。

感谢。

2 个答案:

答案 0 :(得分:2)

PHP“__DIR__”和“__FILE__”对服务器来说是绝对的。您不应该使用任何一个脚本。

<script src="/scripts/livevalidation.js"></script>

此外,您的PHP看起来有一些语法错误,这是正确的(虽然仍然无效:

<script src="<?php echo PATH.'/scripts/livevalidation.js'; ?>"></script>

答案 1 :(得分:0)

您在print标记的PHP语句中缺少echoscript语句。你也把连接期放在错误的地方。但是,最重要的是,您尝试包含的JavaScript不需要在PHP语句中。

所有这一切,最后一行应如下所示:

<script type="text/javascript" src="<?php echo PATH ?>scripts/livevalidation.js"></script>

然而,最重要的是,我认为上述内容并不像您期望的那样有效。 __DIR__输出服务器端文件系统路径,这在通过HTTP导入JavaScript时没有意义。我建议更多的内容如下:

<?php define('URL_ROOT', '/'); ?>

<script type="text/javascript" src="<?php echo URL_ROOT ?>scripts/livevalidation.js"></script>

在上面的示例中,URL_ROOT将指向一个绝对URL,在该URL下提供静态媒体(CSS,JavaScript等)。