DanielBodensee
Mitglied
Hallo,
ich versuche gerade meine ersten Schritte mit PHP und habe gleich mal ein Problem.
In meiner Benutzerverwaltung prüfe ich auf Vorhandensein der Benutzer-Datei, existiert diese nicht, lege ich die Datei an und schreibe den Kopfsatz in die Datei (Felderbezeichnung).
Anhand dieses Kopfsatzes möchte ich prüfen, ob die Datei korrekt ist bevor ich darauf zugreiffe.
Schreibe ich nun den ersten Kopfsatz in die Datei und prüfe ich dies beim nächsten Durchlauf, erscheint die Meldung "Datei vorhanden". Füge ich eine zweite Zeile hinzu (dies wäre der erste Benutzer), wird der Kopfsatz als nicht korrekt erkannt.
fgets liest doch eigentlich die Datei je Zeile ein, der Fehler kann aber nur darann liegen, dass fgets das Zeilenende nicht erkennt.
Liege ich da falsch?
Anbei mal meine ersten stümperhafte Zeilen ;-)
Gruss,
Daniel
ich versuche gerade meine ersten Schritte mit PHP und habe gleich mal ein Problem.
In meiner Benutzerverwaltung prüfe ich auf Vorhandensein der Benutzer-Datei, existiert diese nicht, lege ich die Datei an und schreibe den Kopfsatz in die Datei (Felderbezeichnung).
Anhand dieses Kopfsatzes möchte ich prüfen, ob die Datei korrekt ist bevor ich darauf zugreiffe.
Schreibe ich nun den ersten Kopfsatz in die Datei und prüfe ich dies beim nächsten Durchlauf, erscheint die Meldung "Datei vorhanden". Füge ich eine zweite Zeile hinzu (dies wäre der erste Benutzer), wird der Kopfsatz als nicht korrekt erkannt.
fgets liest doch eigentlich die Datei je Zeile ein, der Fehler kann aber nur darann liegen, dass fgets das Zeilenende nicht erkennt.
Liege ich da falsch?
Anbei mal meine ersten stümperhafte Zeilen ;-)
Gruss,
Daniel
PHP:
<?php
session_start();
// Kopfsatz definieren (Dateistruktur) welcher in Datei vorhanden sein muss
$kopfsatz = array ("benutzer","name","vorname","strasse","lkz","plz","ort","telefon","telefax","email");
$trenner = "|-|";
// Referenzkopfsatz für Überprüfung/Kopfsatz erstellen
$kopfsatzrev = "";
for ($a=0; $a<=sizeof($kopfsatz)-1; $a++)
{
$kopfsatzrev = $kopfsatzrev.strtoupper($kopfsatz[$a]).$trenner;
}
// Benutzerdatei prüfen
if (file_exists("benutzer.dat"))
{ // Kopfsatz prüfen ob in Ordnung sonst falsche Datei
$datei = fopen("benutzer.dat","r");
$buffer = fgets ($datei);
if ($buffer == $kopfsatzrev)
{
echo "Datei ist gleich";
}
fclose ($datei);
}
else
{ // Benutzerdatei anlegen und Kopfsatz schreiben
$datei = fopen("benutzer.dat","w");
$kopfsatzrev = $kopfsatzrev ."\n";
fputs ($datei, $kopfsatzrev);
fclose ($datei);
}
?>