Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/234.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 需要一次并包含问题_Php - Fatal编程技术网

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将发出警告

要记住的另一件事是,这些文件实际上是通过PHPINI
include_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上都可以使用。