mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Di 14.10.2008 05:48 Benutzername: Passwort: Auto-Login

Thema: PHP: Inhalt einer geöffneten Textdatei löschen vom 03.06.2007

Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> PHP: Inhalt einer geöffneten Textdatei löschen
Seite: 1, 2  Weiter
Autor Nachricht
Kerstin77
Threadersteller

Dabei seit: 12.03.2007
Ort: 52° 2' N, 8° 55' O
Alter: 30
Geschlecht: Weiblich
Verfasst So 03.06.2007 22:05
Titel

PHP: Inhalt einer geöffneten Textdatei löschen

Antworten mit Zitat Zum Seitenanfang

Hallo,

gibt es eine Möglichkeit (PHP-Befehl), den Inhalt einer bereits geöffneten Textdatei komplett zu löschen?

Danke schonmal für Antworten!

Kerstin
  View user's profile Private Nachricht senden
dastef

Dabei seit: 03.11.2003
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst So 03.06.2007 22:42
Titel

Antworten mit Zitat Zum Seitenanfang

inwiefern geöffnet? und wenn zB mit fopen(), mit welchen Rechten?
  View user's profile Private Nachricht senden E-Mail senden
Kerstin77
Threadersteller

Dabei seit: 12.03.2007
Ort: 52° 2' N, 8° 55' O
Alter: 30
Geschlecht: Weiblich
Verfasst So 03.06.2007 23:07
Titel

Antworten mit Zitat Zum Seitenanfang

Also, ich habe mir ein Gästebuch mit Adminbereich zusammengebastelt und möchte nun einzelne Einträge löschen. Das Gästebuch basiert auf einer Textdatei (Datenbank leider nicht vorhanden). Da das löschen einzelner Zeilen aus einer Textdatei ja nicht direkt möglich ist, habe ich es so gelöst:

1. Datei zum lesen und schreiben öffnen
2. Inhalt in ein Array schreiben (1 Zeile = 1 Arrayelement)
3. löschen des gewünschten Arrayelements
4. Array als String ausgeben und wieder in Textdatei schreiben

Funktioniert auch soweit Lächel Allerdings werden beim neuschreiben der Datei jedoch nur so viele Zeichen überschrieben, wie der String lang ist, d.h. daß nach dem letzten Eintrag (wo die Datei dann eigentlich zu Ende sein sollte), noch Text enthalten ist.

Hier mein Code:

Code:
//Eintrag löschen
   if (isset($_REQUEST["delete"])) {
      //Datei öffnen und für anderweitigen Zugriff sperren, Fehlermeldung bei doppeltem Zugriff
      $fp = fopen($datei,"r+");
      flock($fp, 2) or die("<div class=\"formdanke\">
      <br>
      <div class=\"t2 g\">Fehler!</div>
      <p>Dateizugriff von mehreren Usern gleichzeitig leider nicht möglich.</p>
      $hpende");
      //kompletten Inhalt der Datei in Array schreiben, Arrayelement löschen
      $gbarray = file('../phpscript/gbeintrag.txt');
      unset($gbarray[$index]);
      $txtinhalt = implode("||**||", $gbarray);
      $txtinhalt = str_replace("||**||", "", $txtinhalt);
      //Datei löschen, Inhalt wieder in Datei schreiben

      fputs($fp, "$txtinhalt");
      fclose($fp);
      //Meldung anzeigen: löschen erfolgreich
      die("<div class=\"formdanke\">
      <br>
      <div class=\"t2 g\">Eintrag gel&ouml;scht!</div>
      <p>Der Eintrag wurde erfolgreich gel&ouml;scht.</p>
      $hpende");
   }


Kerstin
  View user's profile Private Nachricht senden
Kerstin77
Threadersteller

Dabei seit: 12.03.2007
Ort: 52° 2' N, 8° 55' O
Alter: 30
Geschlecht: Weiblich
Verfasst Di 05.06.2007 11:10
Titel

Antworten mit Zitat Zum Seitenanfang

Hat sich erledingt, hab es anders gelöst. Jetzt lese ich die Datei erst aus, dann öffne ich sie im "w"-Modus und schwupps ist sie leer.

Kerstin
  View user's profile Private Nachricht senden
Pixelpole
MGI-Loser 2008

Dabei seit: 25.10.2004
Ort: Hart Trinkistan
Alter: 22
Geschlecht: Männlich
Verfasst Di 05.06.2007 11:19
Titel

Antworten mit Zitat Zum Seitenanfang

wäre es nicht wesentlich eleganter anstatt einer textdatei eine xml datei zu nutzen?


nur mal so am rande...
  View user's profile Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Kerstin77
Threadersteller

Dabei seit: 12.03.2007
Ort: 52° 2' N, 8° 55' O
Alter: 30
Geschlecht: Weiblich
Verfasst Di 05.06.2007 11:24
Titel

Antworten mit Zitat Zum Seitenanfang

mag sein, aber mit xml kenne ich mich leider überhaupt nicht aus Menno!

Kerstin
  View user's profile Private Nachricht senden
CIX88

Dabei seit: 14.12.2005
Ort: -
Alter: 42
Geschlecht: Männlich
Verfasst Mi 06.06.2007 12:31
Titel

Antworten mit Zitat Zum Seitenanfang

Noch eleganter wäre es eine DB zu benutzen, die wesentlich bessere Performance bringt als Zugriffe zu einer TXT- oder XML-Datei.
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
SPL1FFSTAR

Dabei seit: 04.06.2007
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst Mi 06.06.2007 13:57
Titel

Antworten mit Zitat Zum Seitenanfang

ich hätte einfach ein leerzeichen reingeschrieben, kA
  View user's profile Private Nachricht senden
 
Ähnliche Themen Ausgabe einer Textdatei unter PHP
alten document.write(); inhalt löschen
Bei Klick in Formularfeld Inhalt löschen.. - JavaScript?
PHP: Textdatei auslesen und sortieren, wie?
Via PHP in Textdatei schreiben. Wie?
Container Inhalt löschen bevor ein neuer geladen wird
Neues Thema eröffnen   Neue Antwort erstellen Seite: 1, 2  Weiter
MGi Foren-Übersicht -> Programmierung


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.