Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.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 即使文件_存在,require()也会失败()声明文件存在_Php_Include - Fatal编程技术网

Php 即使文件_存在,require()也会失败()声明文件存在

Php 即使文件_存在,require()也会失败()声明文件存在,php,include,Php,Include,这是我的密码: if (file_exists('config.php')) { require('config.php'); // This is line 38 } 这会以某种方式产生错误: 警告:require(config.php)[function.require]:无法打开流:第38行的/path/name/file.php中没有这样的文件或目录 这到底是怎么可能的 更新:以下功能正常: if (file_exists(getcwd(). '/config.php')) {

这是我的密码:

if (file_exists('config.php')) {
    require('config.php'); // This is line 38
}
这会以某种方式产生错误:

警告:require(config.php)[function.require]:无法打开流:第38行的/path/name/file.php中没有这样的文件或目录

这到底是怎么可能的

更新:以下功能正常:

if (file_exists(getcwd(). '/config.php')) {
     require(getcwd(). '/config.php');
}

PHP
include
require
的操作方式相同,并使用include路径()。因此,将使用此路径查找文件,如果未正确设置,则不会在当前目录中查找


用于查找此项的值。

请尝试绝对路径。使用
dirname(\uuuuu文件)


尝试忽略包含路径:

if (file_exists('config.php')) {
    require('./config.php'); // This is line 38
}
如果它起作用,你就失踪了。目录到包含路径中,您必须选择包含它或使用相对路径文件名

您可以使用php配置指令更改包含路径(如果您可以更改php配置文件),或者根据每个文件/项目使用获取包含路径()设置包含路径()

例如:
set_include_path('..'.path_SEPARATOR.get_include_path())在php的第一行中(或在公共配置文件中)

资料来源:


奇怪。您能在这些行之前尝试一下clearstatcache()
吗?似乎没有任何影响。请参阅我更新的问题。
是否可读()
?在这种情况下,file_exists并不是特别有用,因为您需要脚本能够真正读取该文件。可以将其视为“银行金库中有钱吗?”和“我可以拿走金库中的一些钱吗?”之间的区别。您缺少包含路径中的当前目录。感谢您和Ed Heal的解释。这就是发生的事情。或者只是
require(_DIR__.'/config.php')
@Igor
\uuuu DIR\uuuuu
在2012年不太可用是的,我只是添加了它,因为答案今天对我仍然有用。
if (file_exists('config.php')) {
    require('./config.php'); // This is line 38
}