我正在使用ob_ *函数构建一些内容,然后将这些内容传递给HTML模板并以MPF格式打印为MPFF。
我需要包含来自另一个php文件的一些内容。我需要包含的文件将运行查询并基于id参数回显表中的一些数据。 通常在我的应用程序中,我使用ajax在正确的位置加载此文件,但是ob_ *函数在AJAX可以执行其操作之前输出数据(请参阅此处的my other question),因此我正在寻找一种解决方法。 我最好的想法是使用php include来做这个伎俩。我脑子里的代码看起来像是:
foreach($listaz as $l){
include "bp/businessplan.php?id=$l";
}
显然这不起作用(我知道如何包含in this SO question所述的作品),因为我收到此错误:
警告:include(bp / businessplan.php?id = AZ000000213):无法打开 stream:没有这样的文件或目录 第1000行的/var/www/jdev/creditmanager/sofferenze/soff.php
$listaz
将包含要传递给文件的参数列表,数组如下所示:
array(
[0]=>AZ000000213
)
(在这种情况下只有一个项目) 所以问题是: 如何将主要php文件中businessplan.php文件的内容包含在主数据库文件中特定位置打印的数组中的值的多次(将其附加到div中另一个)?
答案 0 :(得分:1)
尝试使用__DIR__
常量(http://php.net/manual/en/language.constants.predefined.php)向您的文件添加绝对路径:
include __DIR__."/bp/businessplan.php?id=$l";
它必须解决您的路径问题。
return
代替ob_ *函数。请参阅下面的示例:file test.php
<?php
$r = '';
for ($i=0;$i<10;$i++) {
$_GET['id'] = $i;
$r .= include 'businessplan.php';
}
echo $r;
file businessplan.php
<?php
return 'your html here'.$_GET['id'].PHP_EOL;
当我运行test.php时,它向我展示了这一行:
your html here0
your html here1
your html here2
your html here3
your html here4
your html here5
your html here6
your html here7
your html here8
your html here9
我希望它有所帮助
编辑1
?id=$l
,并按照我的建议将其传递给$_GET
数组。