PHP获取内容并包含不是我需要的东西

时间:2010-09-16 01:10:06

标签: php

我的功能如下:

function get_div(){

   $fileLocation = 'form.php';
   $returnString = '<div id="myDiv">' . get_php_file($fileLocation) . '</div>';

   echo $returnString;

}

function get_php_file($file){
   return file_get_contents($file);
}

问题是我在那个文件中有PHP,我想要执行它就好像它是脚本的一部分。 (而不是在我的整个页面中输出<?php my_function() ?>

如果我使用include $file代替file_get_contents(),我最终会使用包含的文件,但我$returnString的剩余部分会被拍摄...

思想?

3 个答案:

答案 0 :(得分:1)

您想要输出缓冲。

ob_start();
include($file);
$returnString = ob_get_clean();

答案 1 :(得分:0)

我仍然对你究竟想要做什么感到困惑,但是你不能只包括php文件和w / in感觉有一些你继续追加的字符串($ contentsToReturn)? get_php_file将成为:

function get_php_file($file){
  require_once($file)
  return $contentsToReturn;
}

或者我错过了什么?

答案 2 :(得分:0)

如果您需要解释php代码,可以使用include或require。如果找不到文件,Include会发出警告,要求将停止执行。以下是PHP.net对此的说法:

  
    

当包含文件时,解析将退出PHP模式并在目标文件的开头进入HTML模式,并在结束时再次恢复。因此,目标文件中应作为PHP代码执行的任何代码都必须包含在有效的PHP开始和结束标记中。

  
哎呀,抱歉没有看到你对需要缓冲字符串的回应。然后按照建议使用ob_start是正确的方法,然后在需要时使用ob_get_contents。