文件结构:
app/
- index.php
- core -> header.php, setup.php
- img -> ...
- lib -> css->stylesheet.css, js->script.js
我有一个header.php
文件,其中包含指向CSS和JS文件的链接。
它看起来像这样:
<link rel="stylesheet" href="lib/css/stylesheet.css"/>
<script src="lib/js/script.js" type="text/javascript"></script>
我需要在其他两个文件中包含header.php
:index.php和setup.php。
由于存在index.php
和app/lib/css/stylesheet.css
,文件在app/lib/js/script.js
中正常加载。
如果从setup.php
加载,它将在目录'app/core/lib/css ... and js ... '
内查找文件。
我尝试使用绝对路径解决此问题,例如:
$path = realpath($_SERVER['DOCUMENT_ROOT']);
并将其附加到header.php
中的链接和脚本标记
问题是Windows无法访问本地资源。
如何解决此类问题?提前谢谢。
答案 0 :(得分:1)
使用
等配置创建config.php文件<?php
$webPath = 'http://example.com/';
$jsPath = $webpath . 'lib/js/';
$cssPath = $webPath . 'lib/css/';
然后在所有入口点中包含config.php。这里的入口点是index.php和setup.php
一旦你有了,header.php应该有简单的代码:
<link rel="stylesheet" href="<?= $cssPath ?>stylesheet.css"/>
<script src="<?= $jsPath ?>script.js" type="text/javascript"></script>
答案 1 :(得分:1)
您应该使用http:// protocol包含.js或.css文件。 您可以在配置文件中定义常量,如下所示:
define('SITE','http://'.$_SERVER['HTTP_HOST'].'/<project_name>/');
现在您可以在header.php中使用SITE常量,如下所示:
<link rel="stylesheet" href="<?php echo SITE;?>lib/css/stylesheet.css"/>
<script src="<?php echo SITE;?>lib/js/script.js" type="text/javascript"></script>
希望它对你有所帮助。 :)