不知何故,我无法包含我想要的文件,既不使用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';
我认为我使用的路径很好,但它继续以错误的方式使用它。
有什么问题?
由于
答案 0 :(得分:1)
你应该可以这样做:
require_once 'db_connect.php';
require
,require_once
,include
和include_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
?>