require_once并包含问题php

时间:2014-07-03 10:15:45

标签: php

不知何故,我无法包含我想要的文件,既不使用require_once也不使用include。我想要包含的文件与我想要包含它的文件位于同一目录中。我尝试了所有组合,但仍然无效。

我尝试使用require_once

时出错
  

警告:require_once(D:\ PROJEKAT \ wamp \ www \ Eif \ db_connect.php):无法打开流:D:\ PROJEKAT \ wamp \ www \ Eif \ create_user.php中没有此类文件或目录

我首先尝试了

require_once '/db_connect.php'

然后我用

require_once '\db_connect.php' cause I realized that I have to use \ in windows

然后尝试了

require_once __DIR__ . '\db_connect.php'

最后

require_once $_SERVER['DOCUMENT_ROOT'] . '/Eif/db_connect.php';

我认为我使用的路径很好,但它继续以错误的方式使用它。

有什么问题?

由于

3 个答案:

答案 0 :(得分:1)

快速回答

你应该可以这样做:

require_once 'db_connect.php';

更多信息

requirerequire_onceincludeinclude_once都是相同的,只有一个例外: require 会在失败时发出致命错误因为包含会发出警告。

另外要记住这些实际上是通过php ini include_path指令进行搜索,因此当您尝试包含另一个文件时,php将按照第一个指令的顺序搜索这些目录。

默认情况下,此指令通常如下所示:.:/usr/share/php:/usr/share/pear。这可以通过许多函数来改变,甚至是你想要注意的php.ini

注意如果使用set_include_path您没有添加到列表中,但会覆盖它的值;所以知道设置它的正确方法是明智的:

set_include_path(get_include_path() . PATH_SEPERATOR . '/path/to/new/location');

答案 1 :(得分:0)

如果要包含的文件位于同一目录中,则应该起作用:

require_once 'db_connect.php'

答案 2 :(得分:0)

你试图走上这条道路的方式必然会有一些错误。 您可以使用以下php函数进行调试。

 <?php
   print_r(get_included_files()); // Write this above the file that you are trying to include     
  set_include_path('path_to_your_directory'); 
  // This will set the directory for once in<br /> your page after setting the path use require_once with the file name straight away
 ?>