2013-02-24 50 views
4

我有文件夹主页有两个子文件夹,如以下require_once子文件夹

+Home 
+include 
    - membersite_config.php 

+iDiscover 
    -index.php 

中的index.php我加放在require_once脚本访问membersite_config.php

<?PHP 

require_once($_SERVER['DOCUMENT_ROOT'].'/include/membersite_config.php'); 
?> 

我得到以下错误: 警告:require_once(./include/fg_membersite.php):无法打开流:第2行没有D:\ Home \ include \ membersite_config.php中的此类文件或目录
致命错误:require_once():Failed openin g在第2行D:\ Home \ include \ membersite_config.php中包含'./include/fg_membersite.php'(include_path ='.; C:\ php \ pear')

错误说没有这样的文件或目录,而路径“D:\ Home \ include \ membersite_config.php”是正确的。当我将index.php移动到根目录下时,页面运行良好。

我也尝试使用下面的代码描述here但它给了同样的错误

<?PHP 


define('ROOT', 'D:Home\\'); 
require_once(ROOT ."/include/membersite_config.php"); 
?> 

编辑:

我也试过 require_once( “../包括/ membersite_config.php” ); 它给了同样的错误

在此先感谢

+0

你检查了文件权限吗? – Ares 2013-02-24 07:23:20

+2

尝试require_once(“../include/memberite_config.php”); – 2013-02-24 07:24:37

+0

@Ares是的,当我将index.php移动到根目录时,一切正常。 – Mariam 2013-02-24 07:28:50

回答

0

试试这个:

require_once("../include/membersite_config.php"); 

不要忘记检查文件/文件夹的权限!

+0

谢谢。我尝试过,但它给出了同样的错误。文件夹权限是完全控制。我可以访问该文件,当我将index.php移动到根目录而不是将其放入iDiscover文件夹内 – Mariam 2013-02-24 07:31:20

0

尝试这种情况:

<?PHP 
require_once('../include/membersite_config.php'); 
?> 
+0

谢谢。但它给出了相同的错误 – Mariam 2013-02-24 07:31:48

+0

你是否把代码放在这里?:iDiscover/index.php – richard 2013-02-24 07:34:24

+0

是的。 iDiscover是根(主页)文件夹下的子文件夹 – Mariam 2013-02-24 07:35:37

0

'..' 是指回

require_once( '../包括/ membersite_config.php');

意味着走出你所在的文件夹,然后输入包括...

,如果你必须走出三个文件夹就这个../../../包括...等

1

错误意味着你必须在你的membersite_config.php一个要求不上线工作2

+0

我可以看到它不起作用。它说未能打开流:没有这样的文件或目录,而目录确实存在。这就是为什么我问我的代码有什么问题 – Mariam 2013-02-24 07:45:36

+1

阅读我输入的内容。该错误不在index.PHP中。 – HerrSerker 2013-02-24 10:43:54

+0

当它位于子文件夹iDiscover内时,index.php无法访问membersite_config.php。当我将index.php移动到根目录时。相同的代码没有问题。 – Mariam 2013-02-24 11:49:03

1
require_once(dirname(dirname(__FILE__)).'/home/include/membersite_config.php'); 
3

您必须包括这样

require_once(dirname(__FILE__) . '/include/membersite_config.php'); 

因为DocumentRoot的可不能在httpd.conf

0

设置调试试试这个:

<?php 
$dir_files=glob($_SERVER['DOCUMENT_ROOT'].'/include/*'); 
print_r($dir_files); 
?> 

您运行此脚本后,你会看到,如果你的文件名(S)是正确的。

+0

我试过了,文件确实存在 – Mariam 2013-02-24 08:41:40

+0

,我想是完全像** membersite_config.php **拼写的? – 2013-02-24 08:46:35

+0

如果你运行的是memberite_config.php,你会得到任何错误? (如圭多詹森建议) – 2013-02-24 08:49:17