Php 包含 - 子文件夹


Php Include - Subfolders

我正在使用php include。现在文件位于子文件夹中。

错误完全是这样的:

警告:include(/headertop.php):无法打开流:在第11行的D:''ROLDANKING''xampp''htdocs''mysite''pages''print_design.php中没有这样的文件或目录

HTML/PHP文件是这样的:

<html>
<head>
    <title>PRINT DESIGN</title>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
    <link rel="shortcut icon" href="../images/art_favicon.png" type="image/x-icon"/>
    <link rel="stylesheet" href="../css/body.css" type="text/css" media="screen"/>
</head>
<?php include ("headertop.php"); ?>
<?php include ("header.php"); ?>
<?php include ("nav.php"); ?>
<body>

<div id="contents">
</div>
</body>

<?php include ("footer.php"); ?>
</html>

假设您有正确的路径和文件,您可以尝试这个...

<?php 
 include ("sub-folder/headertop.php");
 include ("sub-folder/header.php");
 include ("sub-folder/nav.php"); 
?>

您要避免的事情是必须将路径更改为每个页面上的包含。你可以用这样的东西来做到这一点:

<?php include $_SERVER["DOCUMENT_ROOT"] . "/includes/header.php"; ?>

这将很好地在线工作,但是要在XAMPP中工作,您需要设置一个虚拟主机,以便链接指向同一件事:http://sawmac.com/xampp/virtualhosts/

警告:include(/headertop.php):无法打开流:第 11 行的 D:''ROLDANKING''xampp''htdocs''mysite''pages''print_design.php 中没有这样的文件或目录

说您的目录中没有标题.php文件检查文件是否存在:D:'ROLDANKING'xampp'htdocs'mysite'pages'headertop.php

您也可以只使用:

<?php 
 include ("headertop.php");
 include ("header.php");
 include ("nav.php"); 
?>

而不是:

<?php include ("headertop.php"); ?>
<?php include ("header.php"); ?>
<?php include ("nav.php"); ?>
<?php include ("SUB_FOLDER/headertop.php"); ?>

试试这个

include '../headertop.php';

include '/headertop.php';

在过去的 3 天里,我遇到了几十个网页,我想我已经集体测试了大多数人来这里寻找的东西。

绝对路径。它们必须在本地主机上手动建立,然后在您的 Live 网站上再次建立,但这并不羞于将变量设置为特定的预构建函数。

留在我身边..每次我在 php(包含和回显)或 html 和 css 中引用链接时,我都会引用一个设置为根目录 + 原始链接的变量。

例如

background-image: url(<?php echo $root; ?>images/bg-0.jpg); 

这样做的唯一缺点是额外代码的可见性以及向 css 或 php 文档中的每个链接添加$variable的繁琐。上帝禁止javascript,因为我甚至没有触及它的根源。嘿。双关语。

无论如何,要使这项工作..在我的样式.css文档中,我只需将其转换为样式.php,将CSS代码包含在

<style type="text/css"> *CSS* </style>

标签,它启用 PHP 变量的回显,但作为字符串,或者在我们的例子中是绝对路径前体。在我的头文件中,我现在将我的 CSS 作为 PHP 包含包含在一个新的根变量中。

include $php_root.'includes/css/styles.php'; 

注意到这个$variable与回声有什么不同吗?我声明变量的方式在CSS/HTML如何感知根目标以及PHP如何看待它方面起着巨大的作用。

所以这些是我的设定变量。

// WAMP Localhost
$root = "http://localhost/PZD/";
$php_root = $_SERVER['DOCUMENT_ROOT'] . "PZD/";
// Live Server
$root = "http://prozechdesigns.com/";
$php_root = $_SERVER['DOCUMENT_ROOT'];

这些可以在您的主标题中设置.php包括其本身。

或者,如果您像我一样有要连接和通信的数据库文件,则可以将其与数据库连接.php文件配对。我做了;这样,当我调用我的 init.php 文件或需要编辑 init.php 时,我就不必担心在本地主机和实时网站之间覆盖后使用了哪些$root变量。

在阅读本文时,您可能没有使用 WAMP,并且在您的时间和日期或配置下,您的 PHP 根位置可能不像我的那样设置。但是,如果您正在使用 WAMP,并且可能希望找出您的根设置位置或更改它,请查找默认位于 "wamp/bin/apache/apache#/conf" 中的 httpd.conf 文件。