将(使用变量)多个文件内容加载到字符串中的最佳方法是什么?

时间:2011-08-01 22:45:10

标签: php

我想将文件的内容加载到字符串中。这个文件包含一些PHP代码,需要一些变量才能正常工作。

实现这一目标的最有效方法是什么?

以下是我认为这样做的好方法:

使用Session变量:

for ($i = 0; $i < 10; $i++)
{
    $_SESSION[$key] = $i;
    $content .= file_get_contents($fileName);
}

然后我可以从加载的文件中访问该变量。

使用Get方法:

for ($i = 0; $i < 10; $i++)
{
   $content .= file_get_contents($fileName."?key=$i");
}

使用post方法:

for ($i = 0; $i < 10; $i++)
{
    $postData = http_build_query($i);
    $opts = array('http' =>
                  array(
                      'method' => 'POST',
                      'header' => 'Content-type: application/x-www-form-urlencoded',
                      'content' => $postData
                  )
    );

    $context = stream_context_create($opts);
    $content .= file_get_contents($fileName, false, $context);
}

我向所有人提供了更好的方法。

以下是文件内容的示例:

<?php echo $_GET['key']; /*(or $_POST or $_SESSION)*/ ?>

它会输出

0
1
2
3
4
5
6
7
8
9

1 个答案:

答案 0 :(得分:2)

听起来你想使用输出缓冲,例如

$content = '';
for ($i = 0; $i < 10; $i++) {
    ob_start();
    include $fileName;
    $content .= ob_get_contents();
    ob_end_clean();
}

这假设你的文件看起来像

echo $i, PHP_EOL;