Php包含包含其他文件的不同文件夹中的文件
我是PHP新手,我一直试图使一个文件(Php包含包含其他文件的不同文件夹中的文件,php,mysql,Php,Mysql,我是PHP新手,我一直试图使一个文件(index.PHP)包含另一个文件(connect.PHP),该文件包含另一个文件(config.PHP),但它们位于不同的文件夹中 这是我的目录结构: > index.php (in the [root]...) > connect.php ([root]/admin/) > config.php ([root]/admin/) 这就是我到目前为止所做的: index.php include './admin/connect.ph
index.PHP
)包含另一个文件(connect.PHP
),该文件包含另一个文件(config.PHP
),但它们位于不同的文件夹中
这是我的目录结构:
> index.php (in the [root]...)
> connect.php ([root]/admin/)
> config.php ([root]/admin/)
这就是我到目前为止所做的:
index.php
include './admin/connect.php'
$directory = getcwd();
chdir(__DIR__);
include "config.php";
chdir($directory);
<?php
// Define native directory seperator.
define('DS', DIRECTORY_SEPERATOR);
// Define absolute project root.
define('ROOT', getcwd().DS);
// Define absolute admin folder
define('ADMIN_ROOT', ROOT.'admin'.DS);
include ADMIN_ROOT.'connect.php';
<?php
include ADMIN_ROOT.'config.php';
connect.php
include './admin/connect.php'
$directory = getcwd();
chdir(__DIR__);
include "config.php";
chdir($directory);
<?php
// Define native directory seperator.
define('DS', DIRECTORY_SEPERATOR);
// Define absolute project root.
define('ROOT', getcwd().DS);
// Define absolute admin folder
define('ADMIN_ROOT', ROOT.'admin'.DS);
include ADMIN_ROOT.'connect.php';
<?php
include ADMIN_ROOT.'config.php';
这实际上是工作,但不知何故,我不喜欢改变工作目录的想法
include('/var/www/admin/connect.php');
有没有更好的方法来实现我的目标?当使用include()时代码>根据某些输入,内部的字符串将导致不同的位置
+ /var/www/
- index.php
+ /var/www/admin/
- connect.php
- config.php
只需提供包含文件名的字符串,即可引用同一文件夹中的内容
// Include same-folder script
include('config.php');
// Include same-folder subfolder
include('admin/config.php');
您还可以从字符串开始引用文件的绝对位置,并使用正斜杠/
,这将带您到根目录
include('/var/www/admin/connect.php');
在文件夹中,您可以使用字符串中的。
进入文件夹
// Here it is redundant because you are exiting a folder and re-entering it.
include('/var/www/admin/../admin/connect.php');
您还可以使用波浪号~
引用用户的主目录(运行服务器软件的用户)
include('~/admin/connect.php');
使用简单的引用包含所需的文件对您来说非常简单
/index.php
<?php
// Here you need to go up a folder to reach the connect script.
include('admin/connect.php');
?>
/admin/connect.php
<?php
// Here config is in the same folder as connect, so it can be referenced as such.
include('config.php');
?>
您可以在index.php的顶部放置以下行
index.php
include './admin/connect.php'
$directory = getcwd();
chdir(__DIR__);
include "config.php";
chdir($directory);
<?php
// Define native directory seperator.
define('DS', DIRECTORY_SEPERATOR);
// Define absolute project root.
define('ROOT', getcwd().DS);
// Define absolute admin folder
define('ADMIN_ROOT', ROOT.'admin'.DS);
include ADMIN_ROOT.'connect.php';
<?php
include ADMIN_ROOT.'config.php';
为什么索引不能同时包含这两个路径?请使用绝对路径。使用$\u服务器[DOCUMENT\u ROOT']
作为基本值,然后在其中包含“from”。这样,无论“主”脚本实际位于何处,它都能工作
在connect.php
文件中,类似于@CBroe@Rasclatt:事实上,这比使用文档根目录更好…键入的字符更少。(另外,文档根目录在某些情况下可能会导致问题,例如,某些托管提供商以一种奇怪的方式对其进行了配置,并且您永远无法确定它是否包含尾部斜杠…)我的意思是:“//此处config与connect位于同一文件夹中,因此它可以被引用。include('config.php');
”最后我使用了include\uuuuu DIR\uuuu.'/config.php”。