Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在PHP中是否可以将文件包含在包含文件中_Php - Fatal编程技术网

在PHP中是否可以将文件包含在包含文件中

在PHP中是否可以将文件包含在包含文件中,php,Php,我有一个php的基本页面结构,包含头和脚的include文件。 在页脚中,我想添加一个include文件,该文件仅在页面作为数据表类时加载。 比如: if ($class == 'data-table') include(SHARED_PATH . '/load-datatables.php'); 我的目标是仅在需要时加载脚本。我是PHP新手,所以我想从简单的事情开始。 谢谢 如果要使用php在页面中搜索“数据表”类,那将很难。虽然这里有你能做的 添加一个php变量,该变量指示data

我有一个php的基本页面结构,包含头和脚的include文件。 在页脚中,我想添加一个include文件,该文件仅在页面作为数据表类时加载。 比如:

if ($class == 'data-table')
    include(SHARED_PATH . '/load-datatables.php');
我的目标是仅在需要时加载脚本。我是PHP新手,所以我想从简单的事情开始。
谢谢

如果要使用php在页面中搜索“数据表”类,那将很难。虽然这里有你能做的

添加一个php变量,该变量指示datatable类“data table”是否正在页面中使用

// index.php

<?php $pageUsesDataTable = true; ?>
...
...
<table class="data-table">.....</table>

// Then load the script if depending on the variable

if ($pageUsesDataTable)
    include(SHARED_PATH . '/load-datatables.php');
//index.php
...
...
.....
//然后根据变量加载脚本
如果($PageUseStatable)
include(SHARED_PATH.'/load datatables.php');
或者您可以只检查页面中是否存在“数据表”类,如果存在,则初始化datatable(如果它是泛型的)

// dTable.js or <script>

if($('.data-table').length != 0) {
  // initialize the datatable
}
//dTable.js或
如果($('.data table').length!=0){
//初始化数据表
}

尽管总有一种更干净的方法,但试着更深入地搜索。祝您好运

将此变量放在希望包含php文件加载数据表的页面中:

$include_datatables_file = true;
然后在所有页面上包含一个名为checkinclude.php的通用文件: checkinclude.php:

if (!isset($include_datatable_file)) {$include_datatable_file = false;}
if ($include_datatable_file === true) {
    include_once(SHARED_PATH . '/load-datatables.php');
}

在阿努拉格的评论之后:你试过了吗。。。我当然有,但我没有找到正确的路径,所以它不起作用。更改了路径,并按预期工作。
正如我所说,这可能不是最干净的方式或最佳实践。但它可以工作,而且很容易设置。谢谢你的回答

你试过了吗?你能告诉我你在哪里给你的页面分配了$class变量吗?根据需要动态加载文件的最好方法是使用自动加载程序。例如,确实包含一个,因此我建议开始将您的项目设置为composer项目。require_once或include_once不会多次包含您的文件。我在页面开头插入了一个变量,如下所示:$class=“data table”;在我的脑海中,我插入了: