如何包含()PHP 文件,只有这样的目录路径 "folder_1" 而不是 "folder_1/index.php"?
How to include() PHP file with just a directory path like this "folder_1" not "folder_1/index.php"?
我正在尝试 运行 index.php 文件 include("folder_1")
+-- folder_1
| +-- index.php
| +-- other_stuff.php
在上面提到的目录结构中。通常 运行 index.php 我们会写
include("folder_1/index.php")
。
期待 运行 index.php 文件 include("folder_1")
类似于 import 在 React 中的工作方式。
谢谢:)
PHP 中没有“要包含的默认文件”的概念。但是,您可以轻松地创建一个辅助函数来完成此操作。 (有没有道理,我留给你决定。)
function import(string $dir) {
include $dir . 'index.php';
}
请注意,如果您要导入的文件包含变量,它们将在函数范围内“丢失”。如果您的文件只定义 类、函数、常量等 scope-independent,这将工作正常。 (请参阅我关于使用辅助函数从文件导入变量的原始答案。)
编辑: 原来 OP 并没有询问是否包含多个文件。我的原始答案已移植到:How to include() all PHP files from a directory?.
这不是 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");
我正在尝试 运行 index.php 文件 include("folder_1")
+-- folder_1
| +-- index.php
| +-- other_stuff.php
在上面提到的目录结构中。通常 运行 index.php 我们会写
include("folder_1/index.php")
。
期待 运行 index.php 文件 include("folder_1")
类似于 import 在 React 中的工作方式。
谢谢:)
PHP 中没有“要包含的默认文件”的概念。但是,您可以轻松地创建一个辅助函数来完成此操作。 (有没有道理,我留给你决定。)
function import(string $dir) {
include $dir . 'index.php';
}
请注意,如果您要导入的文件包含变量,它们将在函数范围内“丢失”。如果您的文件只定义 类、函数、常量等 scope-independent,这将工作正常。 (请参阅我关于使用辅助函数从文件导入变量的原始答案。)
编辑: 原来 OP 并没有询问是否包含多个文件。我的原始答案已移植到:How to include() all PHP files from a directory?.
这不是 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");