【发布时间】:2013-02-11 06:40:29
【问题描述】:
好的,我想提前道歉,因为我无法阐明问题的根本原因是我正在尝试构建的这个网站。所以如果我在外太空……=/
无论如何,我遇到的第一个问题是,当我尝试修复 php 中“包含”函数的问题时,我收到了这个错误(如下),我完全篡改它的原因是因为我的导航不工作。每当我尝试离开 index.php 页面时,我都会收到 404。
警告:include(/home/content/22/10350022/html/../Setup.php) [function.include]:无法打开流:/home/content/22/10350022 中没有这样的文件或目录/html/index.php 在第 6 行
警告:include() [function.include]:无法打开“/home/content/22/10350022/html/../Setup.php”以包含(include_path='.:/usr/local/php5_3/ lib/php') 在第 6 行的 /home/content/22/10350022/html/index.php 中
下面是 index.php、setup 和 navs 的代码:
Index.php ---下面
> > <?php
// Setup Document:
//include (1) - forces the site to load the file one time but we're not going to include set up file more than once
define('APP_PATH', dirname(__FILE__) . "/../");
include(APP_PATH . "Setup.php");
if (isset($_GET['page']) && $_GET['page'] ==! ''){
$pg =$_GET['page'];
} else {
$pg = 'Home';
}
?>
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title></title>
<link rel="stylesheet" type="text/css" href="Css/styles.css">
<style type="text/css">
body {
background-color: #039;
}
</style>
</head>
<body>
<div class ="header">
<?php include('Template/header.php');?>
</div>
<div class ="main_Nav">
<?php include('Template/main_Nav.php');?>
</div>
<div class ="main_Content">
<?php include('Content/'.$pg.'.php');?>
<?php #$Home = "SELECT body FROM Pages WHERE Id=1";
#$d = '$Home, $conn';
#if ($d == false) {
#echo "FAILURE".mysql_error($conn);
#}
?>
<div class ="main_Footer">
<?php include('Template/footer.php');?>
</div>
</body>
</html>
有些东西是故意注释掉的,所以我可以解决这个问题。
下面的导航 --
<?php
## Main Navigation Document
include('/Config/setup.php');
?>
<ul>
<li><a href="Home">Home</a></li>
<li><a href="Services">Services</a></li>
<li><a href="FreeStuff">Free Stuff</a></li>
<li><a href="Blog">Blog</a></li>
<li><a href="AboutUs">About Us</a></li>
</ul>
最后——设置——一些信息明显被涂黑了,一些东西被故意注释掉了
<?php
## Setup Document
//Host - location of database on server etc
//username
//pswd
//database name
//connection variables
$host = "";
$user = "test";
$pwd = "";
$db = "test";
//connection info
$conn = mysqli_connect ($host, $user, $pwd, $db);
if ($conn ==false) {
echo "connection has failed";
}
//fetching the title of pages
#$sql = "SELECT title FROM pages WHERE Id=2";
//da warnings
#$r = '$sql,$conn';
# echo $r;
# echo "sucess!";
// return
#if ($r == false) {
# echo "FAILURE".mysql_error($conn);
#}
?>
最初我只是使用 include('/Config/setup.php'); 工作。但是,每当我尝试导航到导航栏中的特色内容时……我都会收到 404 错误。现在这应该只改变内容框——页面的其余部分应该保持静态。 <?php include('Content/'.$pg.'.php');?> 这就是我想我在这里做的事情。或者至少我希望它是大声笑。 $pg 是字符串 4(Home),除非 page 另有定义,否则默认为 home。至少那是我认为我在上面写的。
我的文件结构真的很快是这样的:
...FTP 上的根文件夹 -内容 -配置 -图片 -CSS -模板 -统计 -Roodyinfo
现在它一直要求这条路径...这与我的托管服务有关吗?因为它似乎在说我必须定义一个绝对路径???
欢迎并感谢所有帮助。谢谢!
【问题讨论】:
-
我敢打赌
include('/Config/setup.php');从来没有工作过,因为那将是一条绝对路径。尝试使用 PHPsinclude_path,或者如果所有其他方法都失败,则使用include("$_SERVER[DOCUMENT_ROOT]/Config/setup.php");使所有包含路径相对于网络服务器主目录。 -
谢谢,但我试过了,还是不行。
标签: php