需要文件有问题

问题描述 投票:0回答:1

我试图在php中要求数据库文件,我的代码:

require 'fanakk.com/fkk/database.php';

the location of the require file

我得到的错误:警告:require(fanakk.com/fkk/database.php):无法打开流:/customers/8/8/9/fanakk.com/httpd.www/fkk/forside/index.php中没有此类文件或目录第2行出现致命错误:require():无法在/ customers / 8/8/9 / fanakk中打开所需的'fanakk.com/fkk/database.php'(include_path ='。:/ usr / share / php')。 com / httpd.www / fkk / forside / index.php,第2行

php require
1个回答
0
投票

您的错误状态是您在/ customers / 8/8/9 / fanakk.com / httpd.www / fkk / forside / index.php]中的“ index.php”文件中调用require。这意味着,当您在文件资源管理器中看到“ fanakk.com”时,实际上是在忽略顶部目录,即“ /customers/8/8/9/fanakk.com”。因此,要么在所有的require / include语句之前加上“ / customers / 8/8/9 /”,要么(使用一种更好的面向未来的方法)使用__ DIR __魔术变量的相对路径。 __ DIR __将始终输出被调用文件的目录。因此,在index.php __ DIR __内部将是“ /customers/8/8/9/fanakk.com/httpd.www/fkk/前进”。然后,您可以使用目录遍历运算符来上几个目录,例如:__ DIR __。“ /../../ ..”,其中每个“ / ..”代表“上一级目录” 。这意味着您将获得如下路径:“ / customers / 8/8/9 / fanakk.com / httpd.www / fkk / forside /../../ ..”,与“ /客户/8/8/9/fanakk.com”。

(对不起,很多加粗的[[DIR

,StackOverflow总是省略“ __”并以粗体显示它]一种更可靠的方法是在主文件中定义一个常量或全局变量,并带有应用程序的根路径,然后调用相对于该变量的所有后续require / includes。因此index.php可以定义如下内容:

define('APP_PATH', __DIR__."/../../..");

并且您可以将其添加到任何后续调用中,例如:

require(APP_PATH.'/database.php');

© www.soinside.com 2019 - 2024. All rights reserved.