gpt4 book ai didi

php - 如何对所有目录中的所有 contentc php 文件使用相同的 header.php 文件

转载 作者:太空宇宙 更新时间:2023-11-03 19:04:59 24 4
gpt4 key购买 nike

我已经创建了如下所示的头文件。

<style type="text/css" >
.menu{
width: 100%;
/*background-color: #333; */}
.menu ul{
margin: 0; padding: 0;
float: left;}

.menu ul li{
display: inline;}

.menu ul li a{
float: left; text-decoration: none;
color: #000;
padding: 10.5px 11px;
/* background-color: #333; */}
/*
.menu ul li a:visited{
color: white;}*/

.menu ul li a:hover, .menu ul li .current{
color: #fff;
background-color:#0b75b2;}

}
</style>
<div class="menu" style="width:430px; height:43px; margin-left:420px; margin-right:auto;">
<ul>
<li><a href="index.php">Home</a></li>
<li><a href="about.php">About us</a></li>
<li><a href="contact.php">Contact us</a></li>
<li><a href="image-gallery/index.php">Image Gallery</a></li>
<li><a href="articles/index.php">Articles </a></li>
</ul>
</div>

所以我有像图库、文章这样的引用目录

文件路径:

www/websitename/index.php

我已经将 header.php 包含到主 index.php 中,它链接正确,但是当我包含图片库的索引文件时,链接不正确,

www/websitename/image-gallery/index.php
www/websitename/image-gallery/index.php

最佳答案

有多种解决方案,但最简单的实现方法是在 config.php 文件中进行定义。除其他事项外,定义将指定根文件和根路径

配置.php

define('ROOT_URL', 'http://www.example.com/');
define('ROOT_PATH', '/var/www/html');

然后,在 index.php 中,您将拥有

include('config.php');
include('header.php');

include('../config.php');
include('../header.php');

然后,在 header.php 中

<li><a href="<?php echo ROOT_URL; ?>index.php">Home</a></li> 

这个主题有很多变体,上面是最简单的,但这里还有其他的。

为什么采用这种方法?因为在 config.php 中你可以使用

if ($_SERVER['HTTP_HOST'] == 'staging.example.com') { //一组定义 } 别的 { //假设 live - 用户定义了另一组

并从 dev/staging/live 复制文件而不覆盖。


与 hte includes 中的“../”相反,在每个文件中创建一个变量“root_file”作为“./”或“../”。然后包括($root_file。'header.php');在每个脚本中执行此操作,您也可以使用链接。


如果指定完整的 URL,如果您在 https 和 http 之间切换,您可能希望排除“http://”部分并添加您所在的方案。在代码中添加 URL(或在构建链接的函数中)


您可能希望将详细信息存储在数据库中(在这种情况下,您可能会将数据库连接凭据存储在配置 instread 中


最后,您可以使用 $_SERVER[''] (http://php.net/manual/en/reserved.variables.server.php) 变量,或 __FILE__ __ DIR__ (http://php.net/manual/en/language.constants.predefined.php) 来确定你在哪里。请小心,因为 REQUEST_URI 可能无法准确反射(reflect)脚本的位置(如果使用 .htaccess 重写规则),并且 SCRIPT_FILENAME/__FILE__/__DIR__ 也可能撒谎,如果您在符号链接(symbolic link)上。但是,如果您知道您的服务器配置,这是一种处理“我在哪里?”的非常便携的方式。

所以,有很多选择。从简单开始,并随着您的需求不断变化而逐步建立。

关于php - 如何对所有目录中的所有 contentc php 文件使用相同的 header.php 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10673219/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com