PHP - 在我的网站中遇到require_once()的问题

时间:2011-10-28 09:43:49

标签: php get warnings href require-once

我正在开发一个网站,我真的不明白正在发生的问题......

主页中的表格中有一个链接。当我点击它时,它应该为超链接页面提供一些GET参数。接收页面处理它,更新数据库并重定向到主页。

我在主页中包含了一些必要的php文件“require_once()”。但我不能在处理页面上这样做。它给出了一些警告。我真的不明白为什么,我不知道这个问题的解决方案。请帮忙!

主页中的代码:

<?php require_once("includes/db_connection_open.php"); ?>
<?php require_once("includes/functions.php"); ?>
<?php include("includes/header_main.php"); ?>

<?php
 echo "<td><a href='includes/process.php?id=".$arr['id']."'>Process</a></td>";
?>

<?php include("includes/body_footer_main.php"); ?>
<?php require_once("includes/db_connection_close.php"); ?>

处理页面中的代码:

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

//Processing codes

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

我收到的警告是:

  

警告:require_once(包括/ db_connection_open.php)   [function.require-once]:无法打开流:没有这样的文件或   第1行的C:\ xampp \ htdocs \ MySite \ includes \ process.php中的目录

     

致命错误:require_once()[function.require]:打开失败   必需'includes / db_connection_open.php'   (include_path ='。; C:\ xampp \ php \ PEAR')in   第1行的C:\ xampp \ htdocs \ MySite \ includes \ process.php

2 个答案:

答案 0 :(得分:2)

您似乎目前位于includes目录中,因为您的错误显示'在第1行的C:\ xampp \ htdocs \ MySite \ includes \ process.php'。

但是,您仍然需要在includes/范围内提出要求,以便最终进入includes/includes/文件所在的位置。

如果你找到正确的路径有麻烦,因为你有一个通过包含加载的文件以及AJAX,例如你可以使用__DIR__(或旧的PHP安装中的dirname(__FILE__))来制作确定你有正确的道路。

所以在process.php例如:

require_once __DIR__.'/db_connection_open.php';

答案 1 :(得分:0)

嗯,错误似乎表明您尝试的位置不存在这些文件。根据情况,process.php文件已经驻留在includes目录中,因此在页面上的require_once()语句中,您需要更新链接,如下所示:

<?php require_once("db_connection_open.php"); ?>
<?php require_once("functions.php"); ?>
//Processing codes
<?php require_once("db_connection_close.php"); ?>

希望有所帮助!