mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Fr 26.04.2024 10:38 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: 46
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
Anzeige
Anzeige
Kerstin77
Threadersteller

Dabei seit: 12.03.2007
Ort: 52° 2' N, 8° 55' O
Alter: 46
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: 46
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

Dabei seit: 25.10.2004
Ort: Trier
Alter: 37
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
Kerstin77
Threadersteller

Dabei seit: 12.03.2007
Ort: 52° 2' N, 8° 55' O
Alter: 46
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
Benutzer 28377
Account gelöscht


Ort: -

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.
 
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 Bei Klick in Formularfeld Inhalt löschen.. - JavaScript?
alten document.write(); inhalt löschen
Container Inhalt löschen bevor ein neuer geladen wird
PDF-Namen einer geöffneten Datei im Reader kopieren?
Via PHP in Textdatei schreiben. Wie?
[PHP] Textdatei mit BOM ausgeben?
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 an Umfragen in diesem Forum nicht mitmachen.