Wie die Kopfzeile machen in meiner while-Schleife übersprungen wird fgetcsv mit?
Frage
Ich kann nicht den neuen Code bekommt ich geschrieben habe die erste Zeile (Header) als Code überspringen ich zuvor wurde (siehe unten).
Ich bin keine Fehler empfangen, aber nur kann es nicht erste Reihe wegzulassen erhalten.
$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);
Im Folgenden finden Sie die alte Quelle, die die Header übersprungen, als Referenz und Vergleich.
$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);
Lösung
Warum zählen auch? Nehmen Sie einfach die Header vor Looping.
$column_headers = fgetcsv($file);
while(!feof($file)) {
...
Auch sind Sie nur den Dateizeiger auf die Variablen zugewiesen wird.
Andere Tipps
Wenn $row_count
ist 0
Sie sind nicht Lesen jede Zeile.
Ändern
if ($row_count==0){
$column_headers = $file; // just assigning file handle.
}
if ($row_count==0){
$column_headers = fgetcsv($file); // read the row.
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow