我知道这个问题已被多次提出,但我无法找到解决问题的正确答案。
我的文件夹结构是:
├── index.php
├── js/
│ └── js.js
├── css/
│ └── style.css
├── src/
│ └── include.php
└── level1/
└── index.php
在include.php中:
<script src="js/jquery-1.11.0.min.js"></script>
<link href="css/style.css" type="text/css" rel="stylesheet" />
在index.php中:
<?php include('src/include.php');?> // works fine
在 level1 / index.php 中,我致电
<?php include('../src/include.php');?> // js and css file included but points to level1 folder.
我想保留js&amp; js&amp;中的css样式文件分别是css文件夹,并且仍然可以从不同的文件夹中包含它们。
答案 0 :(得分:1)
1.你必须明白&#34; /&#34;的区别。在php和css之间。对于php,它从你的系统的文件系统开始,但是对于css / html / js,它意味着你的webroot。
2.我使用这样的代码 在include.php上
define("TEMPLATE_PATH",dirname(__FILE__)."/template");//this is for PHP file's include
include TEMPLATE_PATHE."/test.php";//php file as an example
define("WEB_TEMPLATE_PATH","/rain/template");//this is for html
<script src="<?=WEB_TEMPLATE_PATH?>/js/jquery-1.11.0.min.js"></script>
<link href="<?=WEB_TEMPLATE_PATH?>/css/style.css" type="text/css" rel="stylesheet" />
答案 1 :(得分:0)
您的问题是,<script>
和<link>
将使用相对于其所在位置的目录,这意味着
js/jquery-1.11.0.min.js
在一个案例中,
level1/js/jquery-1.11.0.min.js
要解决此问题,您可以预先添加/
(如comments中提到的@roullie),如果您的目录结构位于根目录,或者是/se/appname/
之类的完整路径
您还可以提供一些返回(绝对)基本路径的全局实例,以防止拼写错误和类似错误。有关示例,请查看代码点火器base_url()
here。
答案 2 :(得分:-1)
On include.php ,filepath will different for both locations
on index.php
<script src="js/jquery-1.11.0.min.js"></script>
<link href="css/style.css" type="text/css" rel="stylesheet" />
because these file are including from index.php that is on root folder
On level1/index.php, I called
<script src="../js/jquery-1.11.0.min.js"></script>
<link href="../css/style.css" type="text/css" rel="stylesheet" />
because these file are including from level1/index.php that is in level1 folder