4

我无法获得我编写的新代码来跳过第一行(标题),就像我之前使用的代码一样(见底部)。

我没有收到任何错误,但无法让它省略第一行。

$file = fopen($uploadcsv,"r");
$column_headers = array();
$row_count = 0;
while(!feof($file)) {   
  if ($row_count==0){
    $column_headers = $file;
  } else {
    print_r(fgetcsv($file));
  }
  ++$row_count;
  }

fclose($file);

以下是跳过标题的旧来源,供参考和比较。

$handle = fopen($uploadcsv, 'r');
$column_headers = array();
$row_count = 0;
while (($data = fgetcsv($handle, 100000, ",")) !== FALSE) {
  if ($row_count==0){
    $column_headers = $data;
  } else {
    print_r($data);
  }
  ++$row_count;
}
fclose($handle);
4

2 回答 2

9

为什么还要数?只需在循环之前获取标题。

$column_headers = fgetcsv($file);
while(!feof($file)) {
   ...

此外,您只是将文件指针分配给变量。

于 2010-12-10T14:46:26.367 回答
2

$row_count你什么时候0任何行。

改变

if ($row_count==0){
    $column_headers = $file;  // just assigning file handle.
}

if ($row_count==0){
    $column_headers = fgetcsv($file); // read the row.
}
于 2010-12-10T14:46:51.320 回答