1

我有这个 PHP:

$handle = fopen($_FILES["csvfile"]["tmp_name"], "r");

while (($data = fgetcsv($handle, 5000, ",", '"')) !== FALSE) {
    echo "<pre>";
    print_r($data);
    echo "<pre>";
}

<form method="post">
<input type="file" name="csvfile">
<input type="submit>

CSV 由 html 提供<input type="file">。现在它正在打印出只有第一个值和逗号或每一行的数组,而不是打印出每行的十一个值的数组。我让它做正确的事,但不知何故弄乱了我的代码,无法弄清楚我做了什么。

以下是 CSV 的示例:

"lorem","ipsum","dolor","sit","amet","consectetuer","adipiscing","elit","sed ","diam","nonummy",
4

1 回答 1

1

在您发布的相同代码上,我得到了一个很好的格式化结果

file_put_contents( 'tmp.tmp',
'"lorem","ipsum","dolor","sit","amet","consectetuer","adipiscing","elit","sed ","diam","nonummy",
"1lorem","1ipsum","1dolor","1sit","amet","consectetuer","adipiscing","elit","sed ","diam","nonummy",
');

$handle = fopen("tmp.tmp", "r");

while (($data = fgetcsv($handle, 5000, ",", '"')) !== FALSE) {
    echo "<pre>";
    print_r($data);
    echo "<pre>";
}

我得到:

数组 ( [0] => lorem [1] => ipsum [2] => dolor [3] => sat [4] => amet [5] => consectetuer [6] => adipiscing [7] => elit [8] => sed [9] => diam [10] => nonummy [11] => )

您可能在其他地方做错了什么,而没有注意到它。

于 2011-08-31T13:50:30.400 回答