【问题标题】:Assigning contents to a variable with include/require_once使用 include/require_once 将内容分配给变量
【发布时间】:2011-10-16 18:05:58
【问题描述】:

是否可以这样做

$var = require_once('lol.php');

这样lol.php 所做的任何HTML 输出都会进入$var

我知道输出缓冲,但是否有一些特殊的内置函数已经可以做到这一点?

【问题讨论】:

  • 如果您认为需要这样做,您可能应该只修复包含的文件。抓取 stdout 并将其视为自己的模块(与普通、愚蠢的模板相反)已损坏。
  • 你可以让lol.php的内容返回一个数组或对象。
  • 不幸的是我无法控制 lol.php...
  • 那么你想要的是一个网络爬虫吗?或者只是将文件的内容传递到一个字符串中?

标签: php html variables output-buffering


【解决方案1】:

$var = require_once('lol.php'); 只会将文件的返回值放入$var。如果您不从中返回任何内容,则只会是 null

如果你想要输出,你需要使用输出缓冲:

ob_start();
require_once('lol.php');
$var = ob_get_clean();

【讨论】:

    【解决方案2】:

    来自=include() 调用的分配只会让您从该脚本中获得一个可能的return 值,而不是任何输出。

    要实现这一点,您必须修改包含脚本以捕获输出:

     <?php
          ob_start();
    
          ...
    
          return ob_get_clean();
     ?>
    

    【讨论】:

      猜你喜欢
      • 2013-04-18
      • 2016-10-15
      • 1970-01-01
      • 2012-05-02
      • 2013-03-11
      • 2021-08-06
      • 2018-07-29
      • 2012-07-23
      • 1970-01-01
      相关资源
      最近更新 更多