让我们说我想把这个脚本输出到一个名为“text1”的文本文件中,我该怎么做?
<?php
$friends = array("Mike Lark" => "Islip", "Nick Miller"=>"Valley Stream", "James Allen"=>"Los Angeles", "John D"=>"New York");
foreach($friends as $friend => $town){
echo "<tr><td>$friend</td> > <td>$town</tr><BR>";
?>
答案 0 :(得分:1)
另一种替代方法是,不使用变量连接替换echo
语句,而是使用输出缓冲区。
使用此功能,您可以捕获使用echo打印的所有内容,然后保存到文件:
<?php
ob_start(); // start an output buffer
echo "<head><title>Friends & Hometowns</title></head>";
echo "<h1>List of Friends & Their Hometowns</h1>";
$friends = array("Mike Lark" => "Islip", "Nick Miller"=>"Valley Stream", "James Allen"=>"Los Angeles", "John D"=>"New York");
foreach($friends as $friend => $town){
echo "<tr><td>$friend</td> > <td>$town</tr><BR>";
}
echo "</table>";
$output = ob_get_clean(); // extract everything that has been buffered
file_put_contents('output.txt', $output); // save it to file
答案 1 :(得分:0)
file_put_contents('file.txt', $friend."</td> > <td>".$town."</tr><BR>", FILE_APPEND);
使用FILE_APPEND代替包含文件,请检查docs
答案 2 :(得分:0)
您不需要包含该文件来编写它,以下代码将正常工作:
此外,如果您回显,那么回声不会进入文件。 您需要在变量中添加所有数据,然后将结果写入文件:
<?php
$result = "";
$result.="<head><title>Friends & Hometowns</title></head>";
$result.="<h1>List of Friends & Their Hometowns</h1>";
$friends = array("Mike Lark" => "Islip", "Nick Miller"=>"Valley Stream", "James Allen"=>"Los Angeles", "John D"=>"New York");
foreach($friends as $friend => $town){
$result.="<tr><td>$friend</td> > <td>$town</tr><BR>";
}
$result.="</table>";
file_put_contents('file.txt', $result);
?>
<强>更新强>
As @Ahmed Rezk建议如果您不想删除文件中的现有数据,请使用file_put_contents()的FILE_APPEND
标志;像:
file_put_contents('file.txt', $result, FILE_APPEND);
答案 3 :(得分:0)
这可以是“MVC”'ed。
##Model.php
<?php
$friends = array("Mike Lark" => "Islip", "Nick Miller"=>"Valley Stream", "James Allen"=>"Los Angeles", "John D"=>"New York");
##View.php
<head><title>Friends & Hometowns</title></head>
<h1>List of Friends & Their Hometowns</h1>
<?php
foreach($friends as $friend => $town){ ?>
<tr><td><?=$friend?></td> <td><?=$town?></tr>
<?php
}
?>
##Controller.php
<?php
require_once "Model.php";
require_once "View.php";
就是这样。您的代码更清晰,有关注点的分离。您的IDE可以为您的HTML和PHP代码提供更好的智能感知。
在此之后,您可以按照@Ibrahim的回答获取输出缓冲区内容。
免责声明:这是基本的MVC,当然可以改进。然而,这远远好于在整个地方回应html。