我一直在写我的网站,但随着它的发展,我注意到每个.html / .php文件中有越来越多的重复代码,如下所示:
<META HTTP-EQUIV="CACHE-CONTROL" CONTENT="PUBLIC">
<link rel="stylesheet" type="text/css" href="/resources/css/NoConflict.css"/>
<link rel="stylesheet" href="/resources/css/uniform.agent.css" media="screen" />
<style type="text/css">
html {
background: url('/resources/images/bg6.jpg') no-repeat center center fixed;
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
background-size: cover;
}
</style>
<script src="/resources/jscript/jquery.min.js"></script>
<script src="/resources/jscript/jquery.uniform.js"></script>
<script type='text/javascript'>
// On load, style typical form elements
$(function main() {
$("select, input, button, textarea").uniform();
});
</script>
<title> Page Title </title>
<center>
<div class="BeautifulBox">
<ul>
<li><a href="SiteHome">Home</a></li>
<li><a href="ToS">ToS & Credits</a></li>
<li><a href="resolvers">Resolvers</a></li>
<li><a href="downloads">Downloads</a></li>
<li><a href="Services">Services</a></li>
</ul>
</div>
<center>
<!--This is the logo -->
<br/><img src="/resources/images/logo.png" width="500" height="125"></img> <br/> <br/>
<font color=00FFFF>
<html><style>body {color:#00FFFF;}</style>
<div align="center" class="BeautifulBox">
<div class="Changelist">
<div class="Changelisttop">Title:</div>
我想知道,如果有任何方法可以将其放入单个文件中,并且在需要时将所有其他页面链接到它(也可以将其称为类),因此生成少量每个HTML / PHP文件中的混乱?
答案 0 :(得分:0)
您可以这样做:
<? include 'header.php'; ?>
将其放在文件中的适当位置,它将包含header.php
中的任何内容。因此,如果您使用您在多个页面中提供的确切代码,只需将该代码保存为header.php
即可完成设置。
答案 1 :(得分:0)
您想查看包含。
编辑:作为我答案的快速补充。如果您发现自己使用相同的脚本函数或CSS样式,那么最好将它们包含在可以在每个页面上链接的外部样式表或脚本文件中。
答案 2 :(得分:0)
我最近也注意到我经常这样做。我有时会做的一件事就是include
s,就像一些答案所说的那样,除了我将“外部”页面作为一个页面然后include
进入该页面,而不是相反,在其他答案。例如,不要像这样包含body.php
的文件header.php
:
header.php
:
<!DOCTYPE html>
<html>
<head>
<title>Title</title>
<meta charset="utf-8" />
</head>
<body>
body.php
:
<?php include("$_SERVER["DOCUMENT_ROOT"]" . "/header.php"); ?>
<p>Some content</p>
</body>
</html>
我会做这样的事情:
header.php
:
<!DOCTYPE html>
<html>
<head>
<title>Title</title>
<meta charset="utf-8" />
</head>
<body>
<?php include($_SERVER["DOCUMENT_ROOT"] . "/body.php"); ?>
</body>
</html>
body.php
:
<p>Some content</p>
然后我必须编辑我的.htaccess
,因此“内部”页面是URL中的页面而不是“外部”页面;您也可以在Apache
(或任何服务器)配置文件中执行此操作。我还倾向于在title
d文件中添加一个新的include
,然后使用jQuery将其放入标题中。我使用自定义元素/属性来执行此操作。
您也可以使用require
代替include
,但如果找不到该文件,则会抛出错误,例如,如果您是虚拟&amp;没有把它包含在你的网站上(我做了很多)。但是,使用include
,您可以更灵活,可能具有后备页面。如果你有一个你真正需要的页面,你可以include
它,然后抛出一个404错误或类似的东西,如果它不存在,而不是用户在页面中间看到一个丑陋的PHP错误。 / p>
另一方面,在我看来更好的方式是使用像AngularJS
这样的框架,为你做所有路由,没有PHP,所以你可以在客户端做到这一点(我认为有很多{ {1}}参与)。这仍然需要编辑AJAX
。