FGETCSVを使用して、Header RowをWhile Loopでスキップするにはどうすればよいですか?
質問
最初の行(ヘッダー)をスキップするために書いた新しいコードを取得できません(以前に使用したコード(下を参照)。
私はエラーを受け取っていませんが、最初の行を省略することはできません。
$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);
解決
なぜ数えるのですか?ループする前にヘッダーを取得してください。
$column_headers = fgetcsv($file);
while(!feof($file)) {
...
また、ファイルポインターを変数に割り当てるだけです。
他のヒント
いつ $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.
}
所属していません StackOverflow