Web服务器中的根目录

时间:2016-02-22 15:53:39

标签: php server require

所有关于php和mysql的工作都在本地服务器上。现在我想转移到网络主机。我选择了一个免费托管网站,如1freehosting.I将我的php页面上传到托管网站的文件管理器&# 39; s cpanel。

我以前访问本地服务器上文件夹名index.php页面下的'core',如下所示:

localhost/practice/core/index.php

我用我的域名写了网址却收到了错误。我的域名是ezphp.tk(它也是一个免费域名)

ezphp.tk/practice/core/index.php

但是我收到了以下错误

  

警告:require_once(../ classes / Cookie.php):无法打开流:   在......中没有该文件或目录   第42行/home/u377815502/public_html/practice/core/init.php

     

致命错误:require_once():无法打开所需的错误   ' ../类/ Cookie.php' (include_path ='。:/ usr / lib / php')in   第42行/home/u377815502/public_html/practice/core/init.php

我在主机服务器中的文件结构如下:

我看到的

根目录如下:

  

文件管理器>练习>

在练习中我有以下文件夹:

  

- 班核-CSS-包括函数编辑器

我的index.php如下:

<?php 

    require_once '../core/init.php';
    include('../includes/header.php');
    if(Session::exists('home')){
        echo '<p>'.Session::flash("home").'</p>';

    }


    if($user->isLoggedIn()){



?>
<p>Hellow <a href="../includes/profile.php?user=<?php echo escape($user->data()->username); ?>"><?php echo escape($user->data()->username); ?> </a>!</p>
<ul>
    <li><a href='../includes/logout.php'>logout</a></li>
    <li><a href='../includes/update.php'>update info</a></li>
    <li><a href='../includes/changepassword.php'>change your password</a></li>
    <li><a href="../includes/profile.php<?php echo '?user='.escape($user->data()->username);?>">profile</a></li>

</ul>
<?php
      if($user->hasPermission('moderator')){
          echo '<p>you ara a moderator</p>';
      }
    }else{

        echo '<p>you need to <a href="../includes/login.php">login</a> or <a href="../includes/register.php">register</a><p>';
    }
include('../includes/footer.php');
    ?>

1 个答案:

答案 0 :(得分:2)

使用$_SERVER['DOCUMENT_ROOT']而不是使用相对路径:

require_once $_SERVER['DOCUMENT_ROOT'].'/core/init.php';
include($_SERVER['DOCUMENT_ROOT'].'/includes/header.php');

在你的其他文件中使用它,这样它就不会试图遍历奇数路径。