Doppelte txt Eintrag vermeiden mit php?

  • Hallo,

    ich bin Neuling in Sachen php und habe kaum Erfahrung daran. Deswegen haut mich nicht wenn ich evtl was falsch mache.


    Nun zu meinem Problem bzw ich weiß nicht mehr weiter. Ich habe für mein Projekt eine kleine simple Webanwendung in php geschrieben mit viel Hilfe von Tutorials. Der sin ist in eine Txt Datei etwas hinzuzufügen. Nun das klappt auch soweit Fehler frei ich habe das nun mit einem Datenbank basierendem Login System verbunden und hier klappt auch alles soweit ganz gut. Jetzt komm ich zu dem punkt wo ich nicht weiter weiß. Ich möchte verhindern das durch meine Mitarbeiter Doppeleinträge geschrieben werden. Es sollte am besten so sein das die Datei bevor sie geschrieben wir überprüft wird.


    Ich poste meine bisherigen Code hier mit rein evtl kann mir weiter helfen :)


    die Anwendung Liegt in einem unter Ordner auf die wir dann von der Hauptanwendung zugreifen


    MfG

    taker

  • Sieht komisch aus.

    Du gibst die Daten vor <!DOCTYPE html> aus (Zeile 34).


    Ungeachtet vom Script:

    Du kannst den kompletten Inhalt der Datei einlesen und Duplikate entfernen.

    Wenn Die Datei aber sehr lang ist, dann könnte das länger dauern - und Du solltest sowieso zu einer Datenbank wechseln.


    Mal angenommen die Datei ist nicht sehr groß:

    PHP
    1. $file = 'foo/bar/baz.txt';
    2. $data = file($file); // liest datei in ein array
    3. $data = array_unique($data); // entfernt duplikate
    4. file_put_contents($file, $data); // (über-)schreibt die datei

    file(): http://php.net/manual/de/function.file.php

    array_unique(); http://php.net/manual/de/function.array-unique.php


    Evtl wäre das csv Format auch sinnvoll. Einfach mal google: "php csv".

    Dann brauchst Du das Tabs|Leerzeichen -gefummel nicht mehr "\n".$_GET['guid']." //".$_GET['name'] :D

  • Ich bin noch am Anfang und es soll nicht nach einer Begründung für Fehler klingen.

    Ich würde liebend gerne auf ein DB umsteigen. Aber das Programm das auf diese Datei zugreift, kann nur auf .txt Dateien zugreifen. Ich habe deinen Code mit rein genommen Klappt auch. Danke dafür.

    Ich werde mich mal an csv probieren und versuchen das ganze zu verbessern. Evtl auch mal etwas in Richtung Style was einbauen weil das sieht halt momentan recht lustig aus:saint::D

  • ber das Programm das auf diese Datei zugreift, kann nur auf .txt Dateien zugreifen.

    Welches Programm soll das sein?


    Die Variante von cottton ist aus meiner Sicht die sinnvollste, wenn man auf txt angewiesen ist.

    Der Hinweis auf eine Datenbank ist aber genau so berechtigt. Ich würde mal mit sqlite beginnen, dazu muss nichts extra installiert werden.


    Der Nachteil bei einer reinen Datei-Abhängigkeit ( zugegeben, sqlite ist auch nur Datei basiert, arbeitet aber performanter ) ist, dass bei vielen Datensätzen leicht eine gewisse Performance-Schwäche erkennbar wird.