PHP steht für " PHP: Hypertext Preprocessor ". Es ist eine Programmiersprache, in erster Linie für die dynamische Generierung von Website- Inhalten verwendet . Wie viele Programmiersprachen unterstützt CSV ( comma separated values) , die ein Format für die Speicherung von Daten in regelmäßigen Textdateien ist . Zeilenumbrüche trennen jeden Datensatz und ein Trennzeichen - wie ein Komma oder Semikolon - trennt die einzelnen Elemente innerhalb der Datensätze . Zusammen mit PHP , können Sie CSV-Dateien in Web-Anwendungen verwenden und halten Sie Ihre Dateien sauber , indem unnötige doppelte Einträge . Anleitung
1
Öffnen Sie die Datei mit den CSV-Daten im Read-only -Modus. Zum Beispiel, wenn der Dateiname " test.csv " ist , geben Sie die folgenden Schritte aus:
if (( $ fp = fopen (" test.csv ", " r") ) == false ) {
Seite 2
Schleife durch alle Zeilen von CSV-Daten , über die Funktion " fgetcsv . " Die wichtigsten Parameter der Funktion sind die Datei-Handle $ fp , die maximale Anzahl der Zeichen pro Zeile und Trennzeichen . Normalerweise sind die Trennzeichen für CSV-Dateien wird ein Komma sein . Geben Sie z. B. :
while (! ( $ Data = fgetcsv ( $ fp , 1000, "," ) ) == false) {
3
erstellen neues Array , dessen Schlüssel wird ein MD5-Hash der Daten aus dem " fgetcsv " -Funktion zurückgegeben werden . Der Wert jedes Array-Element werden die Daten selbst sein. Da die Daten von " fgetcsv " ergab ein Array ist, auf die " serialisieren " Funktion vor der Erstellung des Hash . Dieser Prozess automatisch eliminiert doppelte Einträge , weil es eine doppelte Array-Schlüssel erzeugt und überschreibt alle identischen Einträgen . Geben Sie z. B. :
$ list [ md5 ( serialisieren ($ data)) ] = $ data ;
4 5
Öffnen Sie die Datei im Schreibmodus und Schleife durch jeder der Datensätze des neuen Arrays . Geben Sie z. B. :
if (! ( $ Fp = fopen (" test.csv ", " w" ) ) == false) {
foreach ( $ list wie $ record) {
6
schreiben jeder der Datensätze in die Datei mit dem " fputcsv "-Funktion . Das bringt alles wieder ins CSV-Format. Geben Sie z. B. :
fputcsv ( $ fp , $ record , ',' );
7