我想将文件的内容加载到字符串中。这个文件包含一些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
答案 0 :(得分:2)
听起来你想使用输出缓冲,例如
$content = '';
for ($i = 0; $i < 10; $i++) {
ob_start();
include $fileName;
$content .= ob_get_contents();
ob_end_clean();
}
这假设你的文件看起来像
echo $i, PHP_EOL;