Anzeige:
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 15 von 18

Thema: php, wie löscht man inhalte in datein?

  1. #1
    Registrierter Benutzer
    Registriert seit
    Nov 2004
    Beiträge
    51

    php, wie löscht man inhalte in datein?

    hi,
    ich weiss ja wie man in datein schreibt.(per fwrite)
    ich habe eine frage:
    wie löscht man inhalte wieder?

  2. #2
    Happy Hippo
    Registriert seit
    Aug 1999
    Ort
    904xx Nermberch
    Beiträge
    942
    Zitat Zitat von shaddowghoul
    hi,
    ich weiss ja wie man in datein schreibt.(per fwrite)
    ich habe eine frage:
    wie löscht man inhalte wieder?
    zum Beispiel indem man sie überschreibt. siehe fopen(): http://de2.php.net/manual/de/function.fopen.php
    oder gleich ganz löscht - siehe unlink(): http://de2.php.net/manual/de/function.unlink.php

    Pingu

  3. #3
    Registrierter Benutzer
    Registriert seit
    Nov 2004
    Beiträge
    51
    ähm,
    ich wollte die datein aber nicht kommplett löschen,
    sondern nur inhalte der datei entfernen.
    also z.b.:
    (inhalt der datei vorher : "test1234test")
    inhaltloschen($fp, 4);
    (inhalt der datei hinterher: "1234test")

    wie kan ich sowas machen?

  4. #4
    Der Technoide Avatar von Scar KS
    Registriert seit
    Feb 2004
    Beiträge
    246
    Is ganz einfach lad dir Hirn v2.0 runter.
    Nein, Scherz beiseite. Selbst ist der Programmierer heißt es so schön.
    Liest die Datei aus. Arbeitest dann mit stringfunktionen wie (substr strfind strdelete) falls es die in PHP gibt.
    Danach schreibste die Strings wieder in ne Datei.
    Einfach ne? Musst nur mal nachdenken.
    Für die ganzen Funktionen nach denen du sicher fragen wirst guckst du hier:
    http://de2.php.net/manual/de/ref.strings.php
    http://de2.php.net/manual/de/functions.php
    Scar
    Gentoo-x86 linux-2.6.10-r6
    AthlonXP-nForce2-acx100-canoni250
    Mein System und meine Problemhardware :D

  5. #5
    Registrierter Benutzer
    Registriert seit
    Nov 2004
    Beiträge
    51
    schön dadurch steht dann hinterher in der datei:
    "test1234testtest1234test"
    dadurch wird der inhalt nur verdoppelt. nicht verändert

  6. #6
    Happy Hippo
    Registriert seit
    Aug 1999
    Ort
    904xx Nermberch
    Beiträge
    942
    Ich würde ersteinmal das Update nach V2.1 laden und installieren.
    Danach würde ich mich einmal mit dem Manual und da speziell dem Abschnitt über das Filesystem. Da findet man dann ein sehr hilfreiche Funktion, die da heißt: rewind() oder auch fseek()
    Alternativ könnte man natürlich eine zweite Datei öffnen und hinschreiben. Wenn fertig, die erste Löschen und die zweite in die erste Umbenennen. Dies hätte den Vorteil, daß falls etwas schief läuft ein Kopie zu haben.

    Pingu
    Homepage: www.pingu.info

  7. #7
    Registrierter Benutzer
    Registriert seit
    Nov 2004
    Beiträge
    51
    aber fseek kenn ich schon,hilft mir nicht weiter.
    ich brauche eine function zum löschen der inhalte.

  8. #8
    batlh Daqawlu' taH Avatar von Batosai
    Registriert seit
    May 2003
    Ort
    BurgenLandKreis
    Beiträge
    661
    Zitat Zitat von shaddowghoul
    aber fseek kenn ich schon,hilft mir nicht weiter.
    ich brauche eine function zum löschen der inhalte.
    na was an "stringfunktionen" hast du denn nicht verstanden?

    also, ich erkläre es dir noch mal schritt für schritt:

    1.) datei auslesen (in einen string)
    2.) bspw. mit str_replace() den inhalt ersetzen
    3.) die datei mit dem neuen string überschreiben

    auf http://www.php.net/manual/de/ gibt es eine sehr ausführliche doku.
    und wenn man da unter "Stringfunktionen" guckt, offenbaren sich viele viele nützliche funktionen mit denen man gaaannz tolle sachen anstellen kann.

    alles klar?
    ..hab doch gerne geholfen


    gruß
    Batosai
    Original geschrieben von corresponder
    die größe des volksbildungslochs ist mit der höhe der auflage der bildzeitung identisch...
    Mein Blog

  9. #9
    Registrierter Benutzer
    Registriert seit
    Nov 2004
    Beiträge
    51
    überschreiben ist ja das wonach ich gefragt habe.
    ich kenne nur die funktion fwrite zum schreiben.
    die kann aber nicht überschreiben. sondern nur anhängen.
    ich habe ja gerfagt wie der befehl/die funktion zum überschreiben ist, weil ich sie noch nicht kenne.

  10. #10
    Tobiking
    Gast
    fwrite ist schon die richtige funktion. Guck dir mal fopen in der php doku an:

    Code:
    'r'	 Öffnet die Datei nur zum Lesen und positioniert den Dateizeiger auf den Anfang der Datei.
    'r+'	Öffnet die Datei zum Lesen und Schreiben und setzt den Dateizeiger auf den Anfang der Datei.
    'w'	Öffnet die Datei nur zum Schreiben und setzt den Dateizeiger auf den Anfang der Datei sowie die Länge der Datei auf 0 Byte. Wenn die Datei nicht existiert wird versucht sie anzulegen.
    'w+'	Öffnet die Datei zum Lesen und Schreiben und setzt den Dateizeiger auf den Anfang der Datei sowie die Länge der Datei auf 0 Byte. Wenn die Datei nicht existiert, wird versucht sie anzulegen.
    'a'	Öffnet die Datei nur zum Schreiben. Positioniert den Dateizeiger auf das Ende der Datei. Wenn die Datei nicht existiert, wird versucht sie anzulegen.
    'a+'	Öffnet die Datei zum Lesen und Schreiben. Positioniert den Dateizeiger auf das Ende der Datei. Wenn die Datei nicht existiert, wird versucht sie anzulegen.
    Wenn an die Datei angehängt wird öffnest du warscheinlich mit a oder a+. Das heißt entweder mit fseek an den anfang der datei springen oder mit w/w+ öffnen.

  11. #11
    batlh Daqawlu' taH Avatar von Batosai
    Registriert seit
    May 2003
    Ort
    BurgenLandKreis
    Beiträge
    661
    Zitat Zitat von shaddowghoul
    überschreiben ist ja das wonach ich gefragt habe.
    ich kenne nur die funktion fwrite zum schreiben.
    die kann aber nicht überschreiben. sondern nur anhängen.
    ich habe ja gerfagt wie der befehl/die funktion zum überschreiben ist, weil ich sie noch nicht kenne.
    öhm.. indem du die datei im modus 'w' öffnest!?
    resource fopen ( string filename, string mode [, int use_include_path [, resource zcontext]])

    'w' Öffnet die Datei nur zum Schreiben und setzt den Dateizeiger auf den Anfang der Datei sowie die Länge der Datei auf 0 Byte. Wenn die Datei nicht existiert wird versucht sie anzulegen.
    das du die datei vorher einlesen solltest is klar! (ich sagst nur um sicher zu gehen)


    gruß
    Batosai
    Original geschrieben von corresponder
    die größe des volksbildungslochs ist mit der höhe der auflage der bildzeitung identisch...
    Mein Blog

  12. #12
    Registrierter Benutzer
    Registriert seit
    Nov 2004
    Beiträge
    51
    ja, ich öffne sie mit "a".
    wenn ich mit fseek an den anfang springe,
    und dann mit fwrite "hallo" an den anfang schreibe,
    sieht die datei hinterher so aus: hallotest1234test.
    wie gesagt: es wird nicht überschrieben,
    sondern angehängt.(oder im diesem fall vorangesetzt)

  13. #13
    Registrierter Benutzer
    Registriert seit
    Nov 2004
    Beiträge
    51
    ja, aber ich wollte die datein nicht kommplett neu schreiben,
    sondern nur überschreiben/verändern.(hab ich wohl oft genug gesagt)

  14. #14
    batlh Daqawlu' taH Avatar von Batosai
    Registriert seit
    May 2003
    Ort
    BurgenLandKreis
    Beiträge
    661
    Zitat Zitat von shaddowghoul
    ja, aber ich wollte die datein nicht kommplett neu schreiben,
    sondern nur überschreiben/verändern.(hab ich wohl oft genug gesagt)
    Irgendwie versteh ich dein problem nicht.
    wenn du das hallo an den anfang haben willst, und danach nichts mehr, was spricht dann dagegen die dateigröße auf 0 zu setzen und den veränderten string da rein zu schreiben?

    und wenn du das hallo an eine beliebige position in der datei haben willst, was spricht dann dagegen den dateizeiger mit fseek an diese position zu setzen und da hallo rein zu schreiben?
    und wenn du das was da steht nicht überschreiben willst, sondern das hallo gewissermaßen dazwischen, was spricht dann dagegen die datei von der position an in einen string zu lesen und diesen nach dem hallo hinzuschreiben?

    und wenn dabei noch was in der datei stehen bleiben würde, dann kürze sie einfach auf die gewünschte länge mit ftruncate()


    du hast soviele möglichkeiten...
    Batosai
    Original geschrieben von corresponder
    die größe des volksbildungslochs ist mit der höhe der auflage der bildzeitung identisch...
    Mein Blog

  15. #15
    Registrierter Benutzer
    Registriert seit
    Nov 2004
    Beiträge
    51
    nein,
    ich will das in meiner datei 1234(in der mitte) durch hallo ERSETZT wird.
    also 1234 RAUS. und hallo an der gleichen stelle REIN.

Ähnliche Themen

  1. Function registration failed beim apache restart
    Von HyperSurf im Forum Linux als Server
    Antworten: 7
    Letzter Beitrag: 26.08.06, 11:45
  2. Programm zum öffnen von PHP Datein einstellen
    Von X-Kill im Forum Anwendungen Allgemein, Software
    Antworten: 2
    Letzter Beitrag: 10.07.04, 10:36
  3. PHP 5 Beta
    Von gfc im Forum Neue Programme/Versionen
    Antworten: 1
    Letzter Beitrag: 01.07.03, 03:11
  4. Antworten: 3
    Letzter Beitrag: 31.05.03, 20:18
  5. Apache PHP Problem
    Von Prophetmancer im Forum System installieren und konfigurieren
    Antworten: 5
    Letzter Beitrag: 13.03.02, 15:45

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •