PHP / fgetcsv()

fgetcsv() - Lesen einer Datei:

Mit fgetcsv() möchten wir eine CSV-Datei einfach auslesen.
Sehen wir uns einmal den Code genauer an:

CSV-Datei:
Name;Vorname;eMail
Witzbold;Klara;klara.witzbold@spassmail.de
Lachmann;Otto;otto.lachmann@haha.net
Schmunzel;Lena;lena.schmunzel@grinse.org
Spassvogel;Rudi;rudi.spassvogel@witzig.com
Kicher;Tom;tom.kicher@lolmail.de					

Code PHP:
<?php
// CSV-Datei
$datei = 'daten.csv';

// Wenn Datei vorhanden 
if ( ( $handle = fopen( $datei, 'r' ) ) !== FALSE ) {
	// Zum Zählen der Zeilen
	$count = 0; 
	// Array für die Überschriften 
	$head  = [];
	// fgetcsv liest die Zeile und konvertiert sie in ein Array
	while ( ( $daten = fgetcsv( $handle, 1000, ';')) !== FALSE) {
		// Überschriften dem Arry $head zuweisen 
		if($count === 0){
			$head = $daten;
		}else{
			// Beispiel: Daten ausgeben
			echo '<span class="head">' . $head[ 0 ] . ':</span> ' . $daten[ 0 ] . '<br>';
			echo '<span class="head">' . $head[ 1 ] . ':</span> ' . $daten[ 1 ] . '<br>';
			echo '<span class="head">' . $head[ 2 ] . ':</span> ' . $daten[ 2 ] . '<hr>';
		}
		$count++;
	}
	fclose( $handle );
}
?>
Ach ja, mein Code den ich zum Download anbiete ist ein bisschen komplexer bzw. so programmiert, wie ich es eben mache.  

Wenn Ihr Anregungen oder Kommentare zu den Thema habt, seid so nett und kontaktiert mich unter: Kontakt

Kopiert Euch gerne den Code und probiert es aus: Code
Beispiel

Code
HTML: <form method="get" action="fgetcsv.php"> <button type="submit" name="send">CSV Auslesen</button> </form>

CSS: button[type="submit"] { color: var(--black); } .head{ display:inline-block; width:90px; color:rgba(112, 175, 4, 1); font-weight: 600; }

PHP: <?php // Wenn das Formular aufgerufen wurde if( isset( $_GET['send'] ) ){ // CSV-Datei $datei = 'daten.csv'; // Wenn Datei vorhanden if ( ( $handle = fopen( $datei, 'r' ) ) !== FALSE) { // Zum Zählen der Zeilen $count = 0; // Array für die Überschriften $head = []; // fgetcsv liest die Zeile und konvertiert sie in ein Array while ( ( $daten = fgetcsv( $handle, 1000, ';')) !== FALSE) { // Überschriften dem Arry $head zuweisen if($count === 0){ $head = $daten; // Anzahl der Spalten ermitteln $headlength = count( $daten ); }else{ for( $i = 0; $i < $headlength; $i++){ // Endstück für die Ausgabe $end = '<br>'; if($i == $headlength-1){ $end = '<hr>'; } // Beispiel: Daten ausgeben echo '<span class="head">'.$head[ $i ].':</span> '.$daten[ $i ].$end; } } $count++; } fclose( $handle ); } } ?>