包含传递参数的文件

时间:2015-09-23 19:23:35

标签: php

我正在使用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中另一个)?

1 个答案:

答案 0 :(得分:1)

  1. 尝试使用__DIR__常量(http://php.net/manual/en/language.constants.predefined.php)向您的文件添加绝对路径:

    include __DIR__."/bp/businessplan.php?id=$l";

  2. 它必须解决您的路径问题。

    1. 如果您想多次获取内容,可以尝试使用return代替ob_ *函数。请参阅下面的示例:
    2. 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

      1. 找不到文件问题 - 尝试从文件名中删除?id=$l,并按照我的建议将其传递给$_GET数组。