我有这个设置。
root dir|
index.php
config.php
file.php |
|
|scripts|a.js
|
|account
|index.php
| |
|member |index.php
现在,我已经将成员dir的index.php包含到帐户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在脚本文件夹到index.php帐户使用全局定义的路径。
谢谢。
PHP "__DIR__"answers"__FILE__"对服务器是绝对的。你不需要在你的脚本中使用它们。
<script src="/scripts/livevalidation.js"></script>
另外,你的PHP看起来有一些语法错误,这将是正确的(尽管仍然不能工作:
<script src="<?php echo PATH.'/scripts/livevalidation.js'; ?>"></script>
您在script
标记的PHP语句中缺少print
或echo
语句。你还把连接周期放在了错误的地方。然而,最重要的是,您尝试包含的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等)。