PHP 从输入文本文件回显到 li table
PHP echo to li table from input text file
我从方法 Post 获得了来自用户的输入,并将该输入放入文本文件。用分号 (;) 分隔。每个新输入都会在文本文件中生成一个新行。现在我想从文本文件中读取该输入并将其回显到 HTML 中的 li。我无法以正确的方式回应它。
这里输入PHP-code:
<?php
if (isset($_POST["submit"])) {
$title = $_POST['movieTitle'];
$rating = $_POST['movieRatings'];
$plot = $_POST['plot'];
$handle = fopen('movies.txt', 'a');
$names_array = array("$title","$rating","$plot");
$string = implode(';', $names_array);
fwrite($handle, $string."\n");
fclose($handle);
}
?>
上面的代码工作正常,现在当我从文本文件中读取时,问题出现在下面。
<ul class="movies" id="Movies">
$filename = 'movies.txt';
$handle = fopen($filename, 'r');
$datain = fread($handle, filesize($filename));
$names_array = explode(';', $datain);
foreach($names_array as $name)
{
echo '<li>'.$name.'</li>';
}
?>
</ul>
此回显在新行中从文件中读取了所有内容。像这样:
<li>Movie Title1</li>
<li>Movie Ratings1</li>
<li>Plot 1</li>
<li>Movie Title2</li>
<li>Movie Ratings2</li>
<li>Plot 2</li>
<li>Movie Title3</li>
<li>Movie Ratings3</li>
<li>Plot 3</li>
我希望文本文件中的每一行都具有相同的 li 行,如下所示:
<li>Movie Title1, MovieRatings1, Plot1</li>
<li>Movie Title2, MovieRatings2, Plot2</li>
<li>Movie Title3, MovieRatings3, Plot3</li>
等
我是 PHP 的新手,所以我不太擅长 PHP 中的数组和循环。提前致谢!
您应该 explode()
文件在换行符 "\n"
之前。遍历该数组并在内部循环中,explode()
在分号上。像这样:
$lines = explode("\n", $datain);
foreach($lines as $line){
list($title,$ratings,$plot) = explode(";", $line, 3);
// echo <li>s with $title,$ratings,$plot here
}
值得研究 PHP 的 fgetcsv()
和 fputcsv()
函数,它们的设计完全符合您手动执行的操作。
我从方法 Post 获得了来自用户的输入,并将该输入放入文本文件。用分号 (;) 分隔。每个新输入都会在文本文件中生成一个新行。现在我想从文本文件中读取该输入并将其回显到 HTML 中的 li。我无法以正确的方式回应它。
这里输入PHP-code:
<?php
if (isset($_POST["submit"])) {
$title = $_POST['movieTitle'];
$rating = $_POST['movieRatings'];
$plot = $_POST['plot'];
$handle = fopen('movies.txt', 'a');
$names_array = array("$title","$rating","$plot");
$string = implode(';', $names_array);
fwrite($handle, $string."\n");
fclose($handle);
}
?>
上面的代码工作正常,现在当我从文本文件中读取时,问题出现在下面。
<ul class="movies" id="Movies">
$filename = 'movies.txt';
$handle = fopen($filename, 'r');
$datain = fread($handle, filesize($filename));
$names_array = explode(';', $datain);
foreach($names_array as $name)
{
echo '<li>'.$name.'</li>';
}
?>
</ul>
此回显在新行中从文件中读取了所有内容。像这样:
<li>Movie Title1</li>
<li>Movie Ratings1</li>
<li>Plot 1</li>
<li>Movie Title2</li>
<li>Movie Ratings2</li>
<li>Plot 2</li>
<li>Movie Title3</li>
<li>Movie Ratings3</li>
<li>Plot 3</li>
我希望文本文件中的每一行都具有相同的 li 行,如下所示:
<li>Movie Title1, MovieRatings1, Plot1</li>
<li>Movie Title2, MovieRatings2, Plot2</li>
<li>Movie Title3, MovieRatings3, Plot3</li>
等 我是 PHP 的新手,所以我不太擅长 PHP 中的数组和循环。提前致谢!
您应该 explode()
文件在换行符 "\n"
之前。遍历该数组并在内部循环中,explode()
在分号上。像这样:
$lines = explode("\n", $datain);
foreach($lines as $line){
list($title,$ratings,$plot) = explode(";", $line, 3);
// echo <li>s with $title,$ratings,$plot here
}
值得研究 PHP 的 fgetcsv()
和 fputcsv()
函数,它们的设计完全符合您手动执行的操作。