Php 需要一次并包含问题
不知何故,我不能包含我想要的文件,既不能使用Php 需要一次并包含问题,php,Php,不知何故,我不能包含我想要的文件,既不能使用require\u一次,也不能使用include。我要包含的文件与我要包含它的文件位于同一目录中。我尝试了各种组合,但仍然不起作用 尝试使用require\u一次时出现的错误 警告:require_once(D:\PROJEKAT\wamp\www\Eif\db_connect.php):无法打开流:D:\PROJEKAT\wamp\www\Eif\create_user.php中没有此类文件或目录 我第一次试过 require_once '/db_c
require\u一次
,也不能使用include
。我要包含的文件与我要包含它的文件位于同一目录中。我尝试了各种组合,但仍然不起作用
尝试使用require\u一次时出现的错误
警告: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';
我认为我正在使用的路径是好的,但它一直在错误的方向上使用它
有什么问题
谢谢快速回答
您应该能够做到这一点:
require_once 'db_connect.php';
进一步信息
require
、require\u once
、include
和include\u once
都是相同的,但有一个例外:require将在故障时发出致命错误,其中as include将发出警告
要记住的另一件事是,这些文件实际上是通过PHPINIinclude_path
指令进行搜索的,因此当您尝试包含另一个文件时,php将按照第一个指令的顺序搜索这些目录
默认情况下,此指令通常类似于::usr/share/php:/usr/share/pear
。这可以通过许多函数进行更改,甚至是您希望了解的php.ini
:
- -设置include path指令李>
- -显示当前包含路径李>
- -显示当前工作目录李>
- -更改当前工作目录李>
set\u include\u path
则不是添加到列表中,而是覆盖其值;因此,明智的做法是知道正确的设置方法:
set_include_path(get_include_path() . PATH_SEPERATOR . '/path/to/new/location');
如果要包含的文件位于同一目录中,则应该可以:
require_once 'db_connect.php'
在你试图到达这条路的过程中一定有一些错误。 您可以使用以下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
?>
使用常数目录分隔符,它在您的平台上总是正确的。如果它在同一个目录中,为什么不省略斜杠呢?@Dirkos好的,谢谢,但是它还能是什么?您使用什么PHP版本\uuuu DIR\uuuu
最早是在5.3
中添加的(2009年发布,本月停止支持)。PHP不关心您使用的目录分隔符。正斜杠在*nix和windows上都可以使用。