Schwammerl
Mitglied
Hallo,
ich sitze schon seit Vorgestern an dem Problem, das ich beim löschen der letzten zeile aus einer Textdatei den blöden Zeilenvorschub nicht weg bekomme. Muß dazu sagen, das ich diese Form der Datei das erste mal anwende.
Die Datei schaut am Anfang zB so aus:
erste|zeile|der|datei\n
zweite|zeile|der|datei\n
dritte|zeile|der|datei
\n dient nur zur Ansicht wo ich beim speichern der Datei den zeilenumbruch mache.
Wenn sie nach dem löschen so ausschaut hab ich das Problem:
erste|zeile|der|datei\n
zweite|zeile|der|datei\n
Jede Zeile hat doch am Ende den Zeilenvorschub. Wenn ich aber die letzte Zeile lösche, behält die vorletzte den Zeilenvorschub und ich bekomm in meiner Auflistung immer eine leere Zeile.
Wie löse ich das Problem?
So sieht der Code bei mir aus. Die Zeilen vor der letzten zu löschen sind kein Problem.
Aber bei der letzten, da ja die vorletzte den blöden Zeilenvorschub hat.
Gruß
Schwammerl
ich sitze schon seit Vorgestern an dem Problem, das ich beim löschen der letzten zeile aus einer Textdatei den blöden Zeilenvorschub nicht weg bekomme. Muß dazu sagen, das ich diese Form der Datei das erste mal anwende.
Die Datei schaut am Anfang zB so aus:
erste|zeile|der|datei\n
zweite|zeile|der|datei\n
dritte|zeile|der|datei
\n dient nur zur Ansicht wo ich beim speichern der Datei den zeilenumbruch mache.
Wenn sie nach dem löschen so ausschaut hab ich das Problem:
erste|zeile|der|datei\n
zweite|zeile|der|datei\n
Jede Zeile hat doch am Ende den Zeilenvorschub. Wenn ich aber die letzte Zeile lösche, behält die vorletzte den Zeilenvorschub und ich bekomm in meiner Auflistung immer eine leere Zeile.
Wie löse ich das Problem?
PHP:
<?php
session_start();
$message = $_SESSION["message"];
$benutzer =$_SESSION["benutzer"];
//---------------------Config Daten --------------------
$log = "warenkorb/$benutzer.dat";
//$log = "$benutzer.dat";
$fp = fopen($log,"r");
$array = file($log);
$anzahl = count($array);
$id = $position-1; // kommt vom der Warenkob Artikel Position
$nl = chr(13).chr(10);
//---------------- Anfang der zu löschenden Datei -----------------
if ($anzahl == 0){
echo"Konnte keinen Eintrag loeschen!";
}else{
$zeile = $id;
// Ab hier Loeschcode
If ($anzahl <= $zeile){
echo"Eintrag nicht vorhanden!";
}else{
unset($array[$zeile]);
$newinhalt = fopen($log,"w");
fputs($newinhalt,implode("",$array));
fclose($newinhalt);
$_SESSION["message"] = "Der Eintrag "$newinhalt" wurde gelöscht.";
header("Location: shopstart.php?a=waren");
exit;
}
}
?>
So sieht der Code bei mir aus. Die Zeilen vor der letzten zu löschen sind kein Problem.
Aber bei der letzten, da ja die vorletzte den blöden Zeilenvorschub hat.
Gruß
Schwammerl