2011-08-01 86 views
0

我有这个设置。PHP全局路径设置

root dir| 
     index.php 
     config.php 
     file.php | 
       | 
       |scripts|a.js 
       | 
       |account 
         |index.php 
         |   | 
         |member |index.php 
  • 现在,我已经包括的index.php成员DIR考虑迪尔的index.php。此外,该帐户的index.php包括其中包含的config.php,

    define('PATH', (__DIR__)); 
    

现在,所有账户包括的index.php我用,

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

和工作正常。但是,当我尝试添加路径SCRIPT SRC等,

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

我得到一个错误,所以我怎么能包括在脚本中a.js文件夹到使用全局定义路径账户的index.php文件。

谢谢。

回答

2

PHP“__DIR__”和“__FILE__”对于服务器是绝对的。你不需要为你的脚本使用。

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

而且,你的PHP看起来有一些语法错误,这将是正确的(虽然仍然是行不通的:

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

因为我在本地测试我在脚本src获得这个所以我怎么能让它参考脚本文件正确 – Ajay

+0

@Ajay,我只是使用我使用的第一个代码示例,只是使用“/ scripts /”,因为这是相对于webroot(即/ yoursite.com/,/ scripts/is yoursite.com/scripts/ )。相对于域 – RSully

+0

此外,因为你在Windows服务器上,你的服务器路径将有“\”,但网络路径需要“/” – RSully

0

你缺少printecho语句在PHP您的script标记中的语句,您也将转换周期放在错误的地方,但是,您试图包含的JavaScript不需要在PHP语句中。那说,最后的升ine应该如下所示:

<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将指向下,你的静态媒体(CSS,JavaScript和等)供应的绝对URL。