PHP包括不从其他文件工作
我的文件结构:PHP包括不从其他文件工作,php,Php,我的文件结构: sys:包含3个子文件夹的文件夹:inc、class和config。inc文件夹有一个php文件init.php index.php根文件夹中的 “我的配置”文件夹中有一个带有DB凭据的文件,它是include\u once('..\config\DB\u credentials.php')在init.php中。init文件可以很好地处理包含的文件 我还包括了include_once('sys\inc\init.inc.php')在index.php中,但如果我运行索引文件,
- sys:包含3个子文件夹的文件夹:inc、class和config。inc文件夹有一个
文件php
init.php
根文件夹中的index.php
include\u once('..\config\DB\u credentials.php')代码>在init.php
中。init文件可以很好地处理包含的文件
我还包括了include_once('sys\inc\init.inc.php')
在index.php
中,但如果我运行索引文件,它会显示:
警告:include_once(..\config\db_credentials.php):无法打开流:第3行的C:\wamp\www\example\sys\inc\init.inc.php中没有此类文件或目录
及
警告:include_once():在第3行的C:\wamp\www\example\sys\inc\init.inc.php中打开“..\config\db\u credentials.php”以包含(include_path=';C:\php\pear')失败
我做错了什么?我如何才能做到这一点?使用斜杠而不是反斜杠
include_once ('../config/db_credentials.php');.
使用斜杠而不是反斜杠
include_once ('../config/db_credentials.php');.
确保所包含的文件与当前文档相关
或者我会这么做:
使用$\u服务器['DOCUMENT\u ROOT']
作为前缀(或define('DOCROOT',$path);
在配置/索引中)确保包含的文件与当前文档相关
或者我会这么做:
使用$\u服务器['DOCUMENT\u ROOT']
作为前缀(或define('DOCROOT',$path);
在配置/索引中)在初始化文件中,您必须将包含一次('config/db\u credentials.php')代码>
因为当您有级联包含时,根目录总是第一个被调用的文件。这是您的index.php
文件;所以所有包含的内容都必须从这里开始
如果您直接启动init.php文件,当前的include将起作用。这是反对包含的一个缺点;名称空间更好:)在您的init文件中,您必须放置include_once('config/db_credentials.php')代码>
因为当您有级联包含时,根目录总是第一个被调用的文件。这是您的index.php
文件;所以所有包含的内容都必须从这里开始
如果您直接启动init.php文件,当前的include将起作用。这是反对包含的一个缺点;名称空间更好:)您可以通过filephp内置函数包含文件
第一个echo文件;您要包含在哪个文件中
使用dirname(文件);从一个目录中取出
当你来到你的愿望目录,然后包括喜欢
包括(dirname(文件)./file.php')
注意:文件函数返回文件的绝对路径
它可能对你有帮助。你可以通过filephp内置函数包含文件
第一个echo文件;您要包含在哪个文件中
使用dirname(文件);从一个目录中取出
当你来到你的愿望目录,然后包括喜欢
包括(dirname(文件)./file.php')
注意:文件函数返回文件的绝对路径
这可能对您有所帮助。我建议您设置要包含的文件的位置,并使用来分隔它们
文件的相对位置不好,例如。/foo.php
,但是使用基于包含路径的相对位置(config/dbconfig.php
),这样您就不会有任何惊喜了。这将导致更健壮的配置。我建议您设置要包含的文件的位置,并使用来分隔它们
文件的相对位置不好,例如。/foo.php
,但是使用基于包含路径的相对位置(config/dbconfig.php
),这样您就不会有任何惊喜了。这将导致更健壮的配置。能否请您提供具有树结构的文件/文件夹。能否请您提供具有树结构的文件/文件夹。