如何包含() PHP文件,只有一个目录路径,"folder_1"不是"folder_1/index.php"?



我正在尝试使用include("folder_1")运行index.php文件

+-- folder_1
|   +-- index.php
|   +-- other_stuff.php

在上述目录结构中。通常为了运行index.php,我们将编写CCD_ 2。期望使用include("folder_1")运行index.php文件,类似于导入在React中的工作方式。

谢谢:(

没有"要包括的默认文件";在PHP中。但是,您可以很容易地创建一个辅助函数来实现这一点。(不管这是否合理,我让你来决定。(

function import(string $dir) {
include $dir . 'index.php'; 
} 

请注意,如果要导入的文件包含变量,则它们将是";丢失";在函数的范围内。如果您的文件只定义与作用域无关的类、函数、常量等,这将正常工作。(关于使用辅助函数从文件导入变量,请参阅我的原始答案。(


编辑:原来OP并没有要求包含多个文件。我最初的答案已经移植到:如何包含((目录中的所有PHP文件?。

include方法不是这样工作的,为此您需要编写自定义方法,可以使用类似的东西

foreach(glob('includes/*.php') as $file) {
include($file);
}

您只能扫描目录并包含每个文件。没有本机函数。

示例:

function include_dir($path) {

$files = glob($path.'/*.php');

if(count($files) > 0) {
foreach($files as $file) {
include $file;
}
}
}
include_dir("./app");

最新更新