php包括托管时

时间:2013-11-22 09:32:22

标签: php html

我的主机名是

http://gvidas.lhosting.info

HEAD里面我有

<?php include("http://gvidas.lhosting.info/includes/header.php"); ?>

该文件的物理位置位于/htdocs/includes/header.php

为什么不起作用?我应该使用相对路径吗?

index.php的片段

根/ htdocs中/ index.php的:

<!DOCTYPE HTML>
<HTML>
<HEAD>
    <?php include("includes/header.php"); ?>
    <?php if (isset($_SESSION["admin_id"])) { redirect("managePage.php"); } ?>
    <?php $permision = "public"; ?>
</HEAD>
    <BODY>

    <...>   

    </BODY>
</HTML>

header.php的片段

根/ htdocs中/包括/ header.php文件:

<?php require_once ("../includes/session.php"); ?>
<?php require_once ("../includes/functions.php"); ?>


<?php $db = mysqli_connect('http://gvidas.lhosting.info/', 'user', 'pass', 'beta'); 
        if(mysqli_connect_errno()) { die("Database connection failed: " . 
        mysqli_connect_error() . " (" . mysqli_connect_errno() . ")");
        } 
?>

我现在认为我应该使用

 <?php require_once ("session.php"); ?>

代替

  <?php require_once ("../includes/session.php"); ?>

有什么想法吗?

4 个答案:

答案 0 :(得分:3)

您应该使用物理位置而不是URI。

<?php include("/htdocs/includes/header.php"); ?>

答案 1 :(得分:3)

大多数实时服务器不允许绝对包含。您可以按如下方式更新代码:

<?php include("includes/header.php"); ?>

相对路径将取决于您包含文件的位置。上面的示例假定从Web根目录中的文件调用此include()函数的文件。

答案 2 :(得分:1)

您无法使用互联网地址作为包含/要求的路径,而是使用物理路径,例如/htdocs/includes/header.php

答案 3 :(得分:0)

试试这段代码

 $path = $_SERVER['HTTP_HOST'] . $_SERVER['SERVER_NAME'];

 <?php include("$path/includes/header.php"); ?>