使用PHP将CSV文件显示为HTML表的问题
我试图在HTML表格中显示一个两列四行的CSV文件。我有下面的代码,但它只显示第一行,我不明白为什么使用PHP将CSV文件显示为HTML表的问题,php,html,csv,Php,Html,Csv,我试图在HTML表格中显示一个两列四行的CSV文件。我有下面的代码,但它只显示第一行,我不明白为什么 <html> <head> <title>test</title> </head> <body> <table border=1> <?PHP $file_handle = fopen("oee1.csv", "r"); while (!feo
<html>
<head>
<title>test</title>
</head>
<body>
<table border=1>
<?PHP
$file_handle = fopen("oee1.csv", "r");
while (!feof($file_handle) ) {
$line_of_text = fgetcsv($file_handle, 1024);
echo '<tr><td>' . $line_of_text[0] . '</td><td>' . $line_of_text[1] . '</td></tr>';
}
fclose($file_handle);
?>
</table>
</body>
</html>
尝试添加对
fgets($file\u handle)的调用
在循环的每次迭代中,您必须以某种方式推进文件句柄指针。尝试添加对fgets($file\u handle)的调用
在循环的每次迭代中,您必须以某种方式推进文件句柄指针。尝试添加对fgets($file\u handle)的调用
在循环的每次迭代中,您必须以某种方式推进文件句柄指针。尝试添加对fgets($file\u handle)的调用
在循环的每次迭代中,您都必须以某种方式推进文件句柄指针。您没有遍历每一行。
试着这样做:
<!DOCTYPE html>
<html>
<head>
<title>+test</title>
</head>
<body>
<?php
if (($file_handle = fopen("data.csv", "r")) !== false) {
$str = '';
$str .= '<table>';
while (($data = fgetcsv($file_handle, 1024, ",")) !== false) {
$str .= '<tr>';
foreach ($data as $key => &$value) {
$str .= "<td>$value</td>";
}
$str .= '</tr>';
}
fclose($file_handle);
$str .= '</table>';
echo $str;
}
?>
</body>
</html>
+试验
输出:
<table>
<tbody>
<tr>
<td>test1</td>
<td>1</td>
</tr>
<tr>
<td>test2</td>
<td>2</td>
</tr>
<tr>
<td>test3</td>
<td>3</td>
</tr>
<tr>
<td>test4</td>
<td>4</td>
</tr>
</tbody>
</table>
测试1
1.
测试2
2.
测试3
3.
测试4
4.
PS:确保你有特权,并且你的csv作为你的php文件在smae目录中
参考资料:您没有遍历每一行。 试着这样做:
<!DOCTYPE html>
<html>
<head>
<title>+test</title>
</head>
<body>
<?php
if (($file_handle = fopen("data.csv", "r")) !== false) {
$str = '';
$str .= '<table>';
while (($data = fgetcsv($file_handle, 1024, ",")) !== false) {
$str .= '<tr>';
foreach ($data as $key => &$value) {
$str .= "<td>$value</td>";
}
$str .= '</tr>';
}
fclose($file_handle);
$str .= '</table>';
echo $str;
}
?>
</body>
</html>
+试验
输出:
<table>
<tbody>
<tr>
<td>test1</td>
<td>1</td>
</tr>
<tr>
<td>test2</td>
<td>2</td>
</tr>
<tr>
<td>test3</td>
<td>3</td>
</tr>
<tr>
<td>test4</td>
<td>4</td>
</tr>
</tbody>
</table>
测试1
1.
测试2
2.
测试3
3.
测试4
4.
PS:确保你有特权,并且你的csv作为你的php文件在smae目录中
参考资料:您没有遍历每一行。 试着这样做:
<!DOCTYPE html>
<html>
<head>
<title>+test</title>
</head>
<body>
<?php
if (($file_handle = fopen("data.csv", "r")) !== false) {
$str = '';
$str .= '<table>';
while (($data = fgetcsv($file_handle, 1024, ",")) !== false) {
$str .= '<tr>';
foreach ($data as $key => &$value) {
$str .= "<td>$value</td>";
}
$str .= '</tr>';
}
fclose($file_handle);
$str .= '</table>';
echo $str;
}
?>
</body>
</html>
+试验
输出:
<table>
<tbody>
<tr>
<td>test1</td>
<td>1</td>
</tr>
<tr>
<td>test2</td>
<td>2</td>
</tr>
<tr>
<td>test3</td>
<td>3</td>
</tr>
<tr>
<td>test4</td>
<td>4</td>
</tr>
</tbody>
</table>
测试1
1.
测试2
2.
测试3
3.
测试4
4.
PS:确保你有特权,并且你的csv作为你的php文件在smae目录中
参考资料:您没有遍历每一行。 试着这样做:
<!DOCTYPE html>
<html>
<head>
<title>+test</title>
</head>
<body>
<?php
if (($file_handle = fopen("data.csv", "r")) !== false) {
$str = '';
$str .= '<table>';
while (($data = fgetcsv($file_handle, 1024, ",")) !== false) {
$str .= '<tr>';
foreach ($data as $key => &$value) {
$str .= "<td>$value</td>";
}
$str .= '</tr>';
}
fclose($file_handle);
$str .= '</table>';
echo $str;
}
?>
</body>
</html>
+试验
输出:
<table>
<tbody>
<tr>
<td>test1</td>
<td>1</td>
</tr>
<tr>
<td>test2</td>
<td>2</td>
</tr>
<tr>
<td>test3</td>
<td>3</td>
</tr>
<tr>
<td>test4</td>
<td>4</td>
</tr>
</tbody>
</table>
测试1
1.
测试2
2.
测试3
3.
测试4
4.
PS:确保你有特权,并且你的csv作为你的php文件在smae目录中
参考资料:我不知道确切答案,但我知道上的示例根本不使用feof,只检查
fgetcsv
本身的返回值。更改fgetcsv($file_handle,1024);到fgetcsv($file_handle,1024,“,”);恐怕这还没解决问题!我不知道确切的答案,但我知道上的示例根本不使用feof,只是检查fgetcsv
本身的返回值。更改fgetcsv($file_handle,1024);到fgetcsv($file_handle,1024,“,”);恐怕这还没解决问题!我不知道确切的答案,但我知道上的示例根本不使用feof,只是检查fgetcsv
本身的返回值。更改fgetcsv($file_handle,1024);到fgetcsv($file_handle,1024,“,”);恐怕这还没解决问题!我不知道确切的答案,但我知道上的示例根本不使用feof,只是检查fgetcsv
本身的返回值。更改fgetcsv($file_handle,1024);到fgetcsv($file_handle,1024,“,”);恐怕这还没解决问题!对不起,你能详细说明你的意思吗?对不起,你能详细说明你的意思吗?对不起,你能详细说明你的意思吗?对不起,你能详细说明你的意思吗?这似乎不行(虽然我可能把代码放错了地方,或者没有正确地关闭括号-我会继续尝试!)你能提供任何样本数据吗?问题更新为csv文件示例(目前不使用真实数据)出于某种原因,这将我的所有数据都放在一行中。我认为这一定与我的csv文件中标记新行的方式有关,但我真的不明白为什么!在这种情况下,请使用ini_集(“自动检测行结束”),对;请在我提供的链接上阅读相关内容,该链接似乎不起作用(虽然我可能把代码放错了地方,或者没有正确地关闭括号-我会继续尝试!)你能提供任何样本数据吗?问题更新为csv文件示例(目前不使用真实数据)出于某种原因,这将我的所有数据都放在一行中。我认为这一定与我的csv文件中标记新行的方式有关,但我真的不明白为什么!在这种情况下,请使用ini_集(“自动检测行结束”),对;请在我提供的链接上阅读相关内容,该链接似乎不起作用(虽然我可能把代码放错了地方,或者没有正确地关闭括号-我会继续尝试!)你能提供任何样本数据吗?问题更新为csv文件示例(目前不使用真实数据)出于某种原因,这将我的所有数据都放在一行中。我认为这一定与我的csv文件中标记新行的方式有关,但我真的不明白为什么!在这种情况下,请使用ini_集(“自动检测行结束”),对;请在我提供的链接上阅读相关内容,该链接似乎不起作用(虽然我可能把代码放错了地方,或者没有正确地关闭括号-我会继续尝试!)你能提供任何样本数据吗?问题更新为csv文件示例(目前不使用真实数据)出于某种原因,这将我的所有数据都放在一行中。我认为这一定与csv文件中标记新行的方式有关,但我真的不明白为什么!在这种情况下,请使用ini_集(“自动检测行结束”),对吗