所以我最近发现如何使用php include在我的每个文件中包含一个页脚和标题,以避免将所有页眉/页脚代码复制粘贴到每个文件。但是,假设我有一个footer.php,header.php,home.php和about.php
我是否拥有我的标题,在header.php或home.php和about.php中打开html / body标签等。
//header.php
<html>
<head>
links to header.css
links to home.css
links to about.css
</head>
<body>
//home.php
<?php include("header.php"); ?> //PROBLEM: the header.php also includes other .css such as "about.css", etc. that could result in problems later.
</body>
</html>
我该怎么做才能解决这个问题?我想到的一种方法是删除header.php文件的开头部分(html,head,title)并将其移动到home.css和about.css,这样它们每个都有自己的css链接。
答案 0 :(得分:1)
对于library(rvest)
page<-read_xml("test.xml")
#check for name space:
xml_ns(page)
#read nodes with namespace
nodes<-xml_nodes(page, ".//d1:variantText")
和header
,您必须创建一个单独的文件,例如 nav.php ,该文件仅包含nav
和您的nav
不是site header
,而是在<head></head>
之后加入。header.php
。 LIKE
//Home.php
<?php
include("header.php"); this will contain your head part mostly your .css and .js files
include("nav.php"); This will only contain header and nav
// home.php code goes here
?>
在code
下方使用也会自动获取根目录的路径。
<?php
$PATH = "http://localhost/Folder/"; // change this when needed
$PAGE = basename($_SERVER['PHP_SELF']);
?>
然后像这样添加你的文件
<link rel="stylesheet" href="<?php echo $PATH; ?>assets/plugins/font-awesome/css/font-awesome.css">
答案 1 :(得分:1)
你走在正确的轨道上。将样式表以及javascripts分解为其他php文件以及include
它们。所以所有页面都具有以下结构。
<强> home.php 强>
<?php $this_page = "home.php";
include "template.php";
对于其他页面,只需替换$this_page
变量即可。所有页面共有的结构实际上是模板。
<强>的template.php 强>
<!DOCTYPE html>
<html>
<head>
<title>My Website</title>
<!-- CSS-->
<?php include "stylesheets.php" ?>
</head>
<body>
<!-- common header -->
<?php include "header.php" ?>
<section>
<!-- PAGE CONTENT HERE determined by $this_page value -->
<!-- 'content_home.php', 'content_about.php'... have the content-->
<?php include "content_$this_page" ?>
</section>
<!-- common footer -->
<?php include "footer.php" ?>
<!-- link javascript files -->
<?php include "scripts.php" ?>
</body>
</html>
从一个页面到下一个页面的唯一变化是$this_page
的值。它决定了上面模板中加载了哪些内容,它还决定了要包含哪些CSS和JS文件。
<强> stylesheets.php 强>
<?php
$cssDir = "path/to/styles/"; //folder where all CSS files live
//Link each page to its CSS file
$styles = [
'home.php' => 'home.css',
'about.php' => 'about.css',
'contact.php' => 'contact.css',
];
?>
<!-- CSS common to all pages -->
<link rel="stylesheet" type="text/css" href="<?="$cssDir/common.css"?>>
<!-- CSS, specific to the current page -->
<link rel="stylesheet" type="text/css" href="<?="$cssDir/$styles[$this_page]"?>>
您在scripts.php
中链接到的javascript可以使用相同的方法。现在您的HTML已经成为离散模块,您可以轻松编辑网站的一部分,而无需担心其他部分中断。特别是我建议永远不要在一个php文件中打开一个标签,然后在另一个php文件中关闭它,因为随着你的网站变大,调试,维护和修改将成为一场噩梦。
关于路径:
请记住,当浏览器看到该页面时,代替include "stylesheets.php"
和include "scripts.php"
,它将完全按照原样查看该文件的回显内容。因此,在这些文件中,您希望路径为:
home.php
)答案 2 :(得分:0)
底线是您的代码可访问&amp;易于维护,我会有一个head.php,header.php&amp; footer.php文件。在head.php中,如果要连接数据库,可能需要包含config.php。还有你在index.php或home.php
每个页面中包含的所有<html><head><title><link><script>
标签
include('head.php');
include('header.php');
等等