CSV Datei einlesen mit Php und ausgeben

Navigation
 Startseite
 Fachbücher
 Forum
 Webmaster News
 Script Newsletter
 Kontakt
 Script Installation
 Php
 Php Tutorials
 Impressum

Community-Bereich
 kostenlos Registrieren
 Anmelden
 Benutzerliste

Script Datenbank
 Script Archiv
 Script Top 20
 Screenshots
 Testberichte

Suche
 
Script Seite

Unsere Php Scripts
 Counter Script
 Umfrage Script
 Bilder Upload Script
 Terminverwaltung
 Simple PHP Forum
 RSS Grabber

Script Mods
 phpBB Adsense Mode

Tools und Generatoren
 .htpasswd Generator
 md5 Generator
 base64 Generator
 ICQ Generator
 Colorpicker
 Unix timestamp Tool
 TLD Liste
 Webkatalog Verzeichnis

Partner
Sprüche Treff

speicherzentrum.d...
Bei den Anbieter bekommt man Webspace, Domains und...
http://www.speicherzentrum.de
Hosterplus.de
Bekommen Sie Speicherplatz (Webspace), Domains und...
http://www.Hosterplus.de
 
 
 

CSV Datei einlesen mit Php und ausgeben

Sie befinden sich: Home > Php Tutorial > CSV Datei einlesen mit Php ...

CSV Datei einlesen mit Php und ausgeben



Eintrag am:  14.12.2009
Hits / Besucher:  31645
Sprache: Deutsch
Kategorie:  Experten Tutorials
Tutorial Art:  eigenes
Eingetragen von   � 
 

Beschreibung


Dieses Tutorial setzt voraus, dass man vorher sich mit dem Tutorial "Mysql Export zu einer CSV Datei mit Php" auseinandergesetzt hat. Es geht hierbei darum, dass man mit PHP eine CSV Datei einliest und diese entsprechend wieder ausgibt. Man könnte zum Beispiel generierte CSV Dateien anhand eines bestimmten Formates auf einer Webseite ausgeben. In diesem Tutorial gehen wir ausschließlich auf das Format der CSV Datei ein, die wir in unserem Vorgänger Tutorial generiert haben. Nachfolgend finden sie den entsprechenden Code.

Code des PHP Scripts:

  <?php
    
/*
    * Created on 14.12.2009 by Nico Schubert
    */
     
    /**
    * Namen der CSV Datei, die eingelesen werden soll.
        Die Datei muss sich im gleichen Verzeichnis
        wie das PHP Script befinden.
    */
    
$csv_datei "download.csv";
    
/**
    * Der Trenner, der einzelnen Felder.
    */
    
$feler_trenner ";";
    
/**
    * Der Trenner, der einzelnen Zeilen.
    */
    
$zeilen_trenner "n";
    
/**
    * Im nächsten Abschnitt wird mit der PHP Funktion
        file_exists() geprüft, ob es die Datei gibt.
    */
    
if (@file_exists($csv_datei) == false) {
        
/**
        * Wenn die Datei nicht vorhanden ist, geben
            wir mit den Echo Befehl eine
            Fehlermeldung aus.
        */
        
echo 'Die CSV Datei: '$csv_datei.' gibt es
            nicht!'
;
    } else {
        
/**
        * Als nächstes speichern wir in der Variable
            $datei_inhalt den Inhalt der Datei.
        */
        
$datei_inhalt = @file_get_contents($csv_datei);
        
/**
        * Nun speichern wir ein Array in der Variable
            $zeilen, dieses Array ermitteln wir mit
            der PHP Funktion explode() und den Zeilen
            Trenner, den wir in der Variable
            $zeilen_trenner hinterlegt haben.
        */
        
$zeilen explode($zeilen_trenner,
            
$datei_inhalt);
        
/**
        * Mit der PHP Funktion count() ermitteln wir
            die Anzahl der gefundenen Arrayelemente
            in der Variable $zeilen. Die
            zurückgegebene Anzahl speichern wir in
            der Variable $anzahl_zeilen.
        */
        
$anzahl_zeilen count($zeilen);
        
/**
        * Es wird nun mit den Echo Befehl eine Ausgabe
            unserer gefundenen Array Elemente
            ausgegeben. Da wir am Ende der Datei
            einen Zeilenumbruch haben, müssen wir die
            Variable $anzahl_zeilen minus eins rechnen.
        */
        
echo 'Es wurden in der CSV Datei: '.
            
$csv_datei.' insgesamt
            '
.($anzahl_zeilen-1).' Zeilen gefunden.<br>';
        
/**
        * Mit der PHP Funktion is_array() prüfen wir,
            ob in der Variable $zeilen auch wirklich
            ein Array enthalten ist.
        */
        
if (is_array($zeilen) == true) {
            
/**
            * Nun laufen wir mit der foreach Schleife
                unser Array durch.
            */
            
foreach($zeilen as $zeile) {
                
/**
                * Wir haben nun in der Variable $zeile
                    unsere Zeileninhalte, die wir
                    natürlich einzelnen trennen
                    müssen. dazu verwenden wir wieder
                    die PHP-Funktion explode() und
                    speichern in der Variable $felder
                    unserer einzelnen Felder.
                */
                
$felder explode($feler_trenner,
                    
$zeile);
                
/**
                * Da wir bei der Ausgabe, nach jeden
                    einzelnen Feld ein Komma ausgeben
                    möchten, benötigen wir eine
                    Variable die wir hoch zählen.
                    Wenn unsere Zeile abgearbeitet
                    wurde, setzen wir die Variable
                    wieder auf null und fangen von
                    vorne an.
                */
                
$i 0;
                if (
is_array($felder) == true) {
                    foreach(
$felder as $felde) {
                        
/**
                        * Mit einer IF-Anweisung
                            prüfen wir, ob auch
                            wirklich in unserer
                            Variable $felde ein
                            Inhalt vorhanden ist.
                        */
                        
if ($felde != '') {
                            
/**
                            * Als nächstes gehen wir
                                mit den Echo Bfehl
                                die einzelnen Felder
                                aus. Vor der Ausgabe
                                prüfen wir die
                                Variable $i ob diese
                                ungleich null ist,
                                wenn dies der Fall
                                ist, wird vor unserer
                                Feldinhalt ein Komma
                                an gehangen.
                                Zusätzlich ersetzen
                                wir vor der Ausgabe
                                mit der Funktion
                                str_replace() alle
                                doppelten
                                Anführungszeichen.
                            */
                            
echo (($i != 0) ? ', ':
                                
''). str_replace('"',
                                
''$felde);
                            
/**
                            * Damit unsere Variable $i
                                hoch gezählt wird,
                                müssen wir diese mit
                                ++ um eins erhöhen.
                            */
                            
$i++;
                        }
                    }
                }
                
/**
                * Wenn wir jede einzelne Zeile für
                    sich ausgeben möchten, müssen wir
                    mit den Echo Befehl an dieser
                    Stelle einen HTML Umbruch
                    generieren. Dies machen wir mit
                    den Echo Befehl.
                */
                
echo '<br>';
            }
        }
    }
?>

Wenn man dieses Script auf den Server lädt und die CSV Datei sich im gleichen Verzeichnis, wie das Script befindet. Wird beim Aufruf dieses Scriptes, die nachfolgende Ausgabe generiert. Die CSV Datei, die in diesem Tutorial verwendet wurde, haben wir mit unserem Vorgänger Tutorial generiert.

Ausgabe:

Es wurden in der CSV Datei: download.csv insgesamt 2 Zeilen gefunden.
1, Nico, Schubert, Klostegasse, 10, 07318, Saalfeld, Deutschland, info@schubertmedia.de
2, Max, Mustermann, Musterstrasse, 1, 11111, Musterhaus, Musterland, max.mustermann@musterhausen.de

Verwendete Funktionen:

echo() - Mit diesen Befehl kann man einen Text ausgeben.
explode() - Zeichenkette mit einem vordefinierten Trenner aufsplitten.
foreach Schleife - Arrays durchlaufen und ausgeben.
 

 

Tags


 

Verlink uns, wenn Dir das Tutorial gefallen hat:
Artikel hinzufügen bei: