我有以下代码:
我有我的 index.php
<!DOCTYPE html>
<html>
<head>
<?php include('includes/head.php');?>
</head>
<body>
<?php include('includes/navbar.php');?>
<?php include('includes/footer.php');?>
</body>
</html>
头文件
<title>Titulo</title>
<link rel="stylesheet" type="text/css" href="../css/estilos.css">
<link rel="stylesheet" type="text/css" href="../css/estilos.css">
<link rel="stylesheet" type="text/css" href="../css/jquery.dataTables.css">
<link rel="icon" href="../img/favicon.ico" type="image/x-icon"/>
页脚.php
<script src="js/jquery-3.3.1.min.js"></script>
<script src="js/bootstrap.js"></script>
<script src="js/estilos.js"></script>
<script src="js/jquery.dataTables.js"></script>
<script src="js/buttons.js"></script>
<script src="js/html5.min.js"></script>
<script src="js/buttons.print.min.js"></script>
<script src="js/row.js"></script>
<script src="js/jquery.table2excel.js"></script>
<script src="js/jquery-ui.min.js"></script>
<script src="js/listaSoftware.js"></script>
我也有一个导航栏,但把它放在这里没有意义。
这一切都在索引中有效,但是如果我创建一个名为 views 的文件夹并创建一个文件 home.php 和
主页.php
<!DOCTYPE html>
<html>
<head>
<?php include('../includes/head.php');?>
</head>
<body>
<?php include('../includes/navbar.php');?>
<?php include('../includes/footer.php');?>
</body>
</html>
这个主页找到了页眉和页脚,但他们不再找到 JS 和 CSS。我的目录
-css
-js
-includes
--footer.php
--navbar.php
--head.php
-view
--home.php
index.php
例如,索引工作正常,但是当我想调用视图文件夹内的 home.php 时,它找不到 js 和 css 的路径。
我做错了什么,我希望我能很好地解释自己。
问题是在视图文件夹中,解释器期望 javascript 文件在
example.com/view/js/...
您可以通过
src
这种方式声明其中一个脚本,以便它们始终指向根目录和 css 一样
例如,在搜索文件夹中的目录时,它正在
<?php include('../includes/footer.php');?>
搜索不存在这些目录的文件夹中,要访问您必须留下一个目录,例如,作为一种解决方案,您可以拥有两个文件,因为执行包含采用包含文件的路径home.php
view
<script src="js/jquery-3.3.1.min.js"></script>
<script src="../js/jquery-3.3.1.min.js"></script>
footer.php y footer2.php
在这种情况下,理想的情况是有一个配置文件来指示
BASE_DIR
(项目的基本目录)和BASE_URL
(来自浏览器的路由的基本目录)。~/config.php
PHP 中的预定义常量
包含每个文件中的配置文件,路径必须根据其所在文件夹的级别编写,如下所示:
~/index.php
require_once __DIR__ . '/config.php';
~/view/home.php ~/includes/*.php
require_once __DIR__ . '/../config.php';
更改 PHP 路径(从包含 config.php 的任何文件)
更改 HTML 路径(必须包含 config.php 文件)