这是我的PHP脚本,
打印文件。
$f = fopen("file_name", "r");
echo "<tbody>";
while (($line = fgetcsv($f)) !== false)
{
foreach ($line as $cell)
{
echo "<td>" . htmlspecialchars($cell) . "</td>";
}
echo "</tr>\n";
}
echo "</tbody>";
fclose($f);
echo "\n</table>";
?>
这是file_name
NODE,CGR,TERMID,VMGW,ET
GMSC01,932,1337,,1&-2&-3&-4&-5&-6&-7&-8&-9&-10&-11&-12&-13&-14&-15
GMSC01,932,1338,,1&-2&-3&-4&-5&-6&-7&-8&-9&-10&-11&-12&-13&-14&-15
GMSC01,932,1337,,1&-2&-3&-4&-5&-6&-7&-8&-9&-10&-11&-12&-13&-14&-15
GMSC01,932,1338,,1&-2&-3&-4&-5&-6&-7&-8&-9&-10&-11&-12&-13&-14&-15
现在我要打印除第一行以外的文件,将第二行的剩余数据打印到结束。
请建议如何显示第一行以外的文件。
答案 0 :(得分:1)
使用像$counter = 0;
这样的计数器变量,并在每次迭代时递增它,而不是使用if
条件跳过使用if($counter != 1)
的第一次迭代
$counter = 0;
while (($line = fgetcsv($f)) !== false) {
$counter++;
if($counter != 1) {
foreach ($line as $cell) {
echo "<td>" . htmlspecialchars($cell) . "</td>";
}
echo "</tr>\n";
}
}
答案 1 :(得分:0)
只需阅读while循环的第一行OUT:
$f = fopen("file_name", "r");
$line = fgetcsv($f);
echo "<tbody>";
while (($line = fgetcsv($f)) !== false)
{
foreach ($line as $cell)
{
echo "<td>" . htmlspecialchars($cell) . "</td>";
}
echo "</tr>\n";
}
echo "</tbody>";
fclose($f);
答案 2 :(得分:0)
$f = fopen("file_name", "r");
echo "<tbody>";
$flag=0;
while (($line = fgetcsv($f)) !== false)
{
if($flag==0)
{
//skip the first line
$flag=1;
}
else
{
foreach ($line as $cell)
{
echo "<td>" . htmlspecialchars($cell) . "</td>";`
}
echo "</tr>\n";
}
echo "</tbody>";
fclose($f);
echo "\n</table>";
?>
答案 3 :(得分:0)
这是一个更高效的版本,它不会延伸整个循环内容的条件,并使用continue
语句来缩短第一次迭代。
$first = true;
while (($line = fgetcsv($f)) !== false) {
if ($first) {
$first = false;
continue;
}
echo "<tr>\n";
foreach ($line as $cell) {
echo "<td>" . htmlspecialchars($cell) . "</td>";
}
echo "</tr>\n";
}
}