PHP Inhalt einer Datei überschreiben

  • Hallo Community,


    Folgendes Problem beschäftigt mich seit einiger Zeit.


    Ich will ein kleines CP für eine Website schrieben.
    Nun folgendes:
    Ich habe es schon geschaft auf der Website die Datein auslesen zu können.
    Das hab ich ganz banal mit den einfachsten Mitteln gemacht:



    Nun will ich aber mit ähnlichen Mitteln über ein Input-Feld diesen Dateiinhalt überschreiben können.
    Ich bekomme es nicht hin.
    Ich hab schon alles versucht, es klappt nichts so wirklich...

    Hauptsache ist ja immer, dass du es verstehst und das es funktioniert. Es bringt nichts, wenn du einen Code hast den du nicht verstehst, und noch weniger bringt es was wenn du einen Code hast der nicht tut. Naja, und wenn beides zusammen kommt, dann wirds lustig.

  • Es ist nur ne kleine Seite aus reiner Übung herraus.
    Auf MySQL werde ich nicht unbedingt umsteigen.
    Ich will ja gerade die Arbeit mit den Datein in PHP üben, da macht der Umstieg keinen Sinn.
    Jain...
    FWRite habe ich probiert, habe bloß keinen vernünftigen Code hinbekommen.

    Hauptsache ist ja immer, dass du es verstehst und das es funktioniert. Es bringt nichts, wenn du einen Code hast den du nicht verstehst, und noch weniger bringt es was wenn du einen Code hast der nicht tut. Naja, und wenn beides zusammen kommt, dann wirds lustig.

  • Einfach den kompletten Text einer Datei ersetzen? Dann würde ich fwrite nehmen.


    data.txt (Vorher):

    Code
    Momentaner Text:Hallo Welt


    Ausgeführter Code:

    PHP
    <?php	$handle = fopen("data.txt","w");	fwrite($handle, "Neuer Text:\r\nHallo Baum");?>



    data.txt (Nachher):

    Code
    Neuer Text:Hallo Baum


  • Soweit war ich auch schon.
    Allerdings bringt es mir nichts.
    Ich will wie gesagt das ganze mit einem Input Feld eingeben können.
    So ist es ja festgelegt, welchen Text er ersetzt.
    Das hatte ich auch schon geschaft.
    Danke für deine bisherigen Bemühungen.

    Hauptsache ist ja immer, dass du es verstehst und das es funktioniert. Es bringt nichts, wenn du einen Code hast den du nicht verstehst, und noch weniger bringt es was wenn du einen Code hast der nicht tut. Naja, und wenn beides zusammen kommt, dann wirds lustig.

  • Soweit war ich auch schon.
    Allerdings bringt es mir nichts.
    Ich will wie gesagt das ganze mit einem Input Feld eingeben können.
    So ist es ja festgelegt, welchen Text er ersetzt.
    Das hatte ich auch schon geschaft.
    Danke für deine bisherigen Bemühungen.


    Schau dir mal an, wie es mit PHP und $_POST Variablen funktioniert oder Ajax (javascript) ;)


    mfg. :thumbup:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Es ist nur ne kleine Seite aus reiner Übung herraus.
    Auf MySQL werde ich nicht unbedingt umsteigen.
    Ich will ja gerade die Arbeit mit den Datein in PHP üben, da macht der Umstieg keinen Sinn.

    Ich versuche es einfach mit php zu machen. Das muss doch auch möglich sein...
    Ich kann es mit php auslesen... warum kann ich es dann nicht auch einspeichern mit einer Art Input...

    Hauptsache ist ja immer, dass du es verstehst und das es funktioniert. Es bringt nichts, wenn du einen Code hast den du nicht verstehst, und noch weniger bringt es was wenn du einen Code hast der nicht tut. Naja, und wenn beides zusammen kommt, dann wirds lustig.

  • Ich bin gerade nicht am Pc allerdings war es ungefähr so:
    [Html]
    <form action="Leader.txt" method="post">
    <input name="Leader" value="Leadername">
    </form>
    [/code]


    So in etwa war das. Ich hab die unwichtigen Werte wie max und Länge rausgelassen

    Hauptsache ist ja immer, dass du es verstehst und das es funktioniert. Es bringt nichts, wenn du einen Code hast den du nicht verstehst, und noch weniger bringt es was wenn du einen Code hast der nicht tut. Naja, und wenn beides zusammen kommt, dann wirds lustig.

  • fwrite($handle, "Neuer Text:\r\nHallo Baum")


    Einfach die $_POST["Leader"] entgegen nehmen und oben als 2. Parameter übergeben
    Weiters hast du bei der action eine Falsche Datei angesprungen, eine .txt kann nichts damit anfangen, muss schon eine .php sein.
    Am besten du lässt die Datei sich selbst aufrufen und stellst ein If Konstrukt auf das prüft ob die Variable ankommt wenn ja soll er es in die Datei schreiben =)

  • Ich kann mit deiner ersten aussage leider nichts anfangen :o

    Hauptsache ist ja immer, dass du es verstehst und das es funktioniert. Es bringt nichts, wenn du einen Code hast den du nicht verstehst, und noch weniger bringt es was wenn du einen Code hast der nicht tut. Naja, und wenn beides zusammen kommt, dann wirds lustig.

  • Macht keinen Sinn.
    Ich kann es zum drittenmal sagen, dass ich es aus Übungszwecken mache.
    Ich will es weder mit MySQL machen, noch per Hand.
    Er soll den Inhalt des Inputfeldes mit dem Inhalt einer Datei überschreiben...
    Das wird doch wohl möglich sein :<

    Hauptsache ist ja immer, dass du es verstehst und das es funktioniert. Es bringt nichts, wenn du einen Code hast den du nicht verstehst, und noch weniger bringt es was wenn du einen Code hast der nicht tut. Naja, und wenn beides zusammen kommt, dann wirds lustig.

  • er hat dir doch genau das gesagt?


    Fang mal mit den Grundlagen an, besonders was Inputs und $_GET & $_POST angeht, ist ja schrecklich...

    Mit freundlichen Grüßen
    Developer
    Go/Python Developer | ehm. Webdeveloper | Fachinformatiker Anwendungsentwicklung
    Arbeitet in einem cloudigen Umfeld bei einem der größten deutschen Rechenzentrumsbetreibern

  • er hat dir doch genau das gesagt?


    Fang mal mit den Grundlagen an, besonders was Inputs und $_GET & $_POST angeht, ist ja schrecklich...


    Ich will einfach nur einen Code oder eine Hilfe bekommen, die mir hilft den Input in ein Dokument zu schreiben...
    Ich fange gerade erst mit php an und hab halt noch keine Erfahrung...
    Warum musst du dann direkt so ausfallend werden?

    Hauptsache ist ja immer, dass du es verstehst und das es funktioniert. Es bringt nichts, wenn du einen Code hast den du nicht verstehst, und noch weniger bringt es was wenn du einen Code hast der nicht tut. Naja, und wenn beides zusammen kommt, dann wirds lustig.

  • hier wurden dir mehrere Lösungswege genannt, bisschen Eigeninitiative schadet nicht. Nochmal:
    Guck dir an:
    HTML:
    Formulare und Inputs


    PHP:
    Formular Verarbeitung via $_GET und $_POST
    Arbeiten mit Datein (fopen(),fwrite(),fclose() )



    Gibt zu PHP da eine wunderbare Seite, wo alle funktionen beschrieben sind. nennt sich: php.net

    Mit freundlichen Grüßen
    Developer
    Go/Python Developer | ehm. Webdeveloper | Fachinformatiker Anwendungsentwicklung
    Arbeitet in einem cloudigen Umfeld bei einem der größten deutschen Rechenzentrumsbetreibern

  • So...
    Nach getaner "Eigeninitiative" habe ich folgendes erreicht:
    Nachdem absenden löscht er den Inhalt des Dokumentes und auf der Seite die es anzeigen soll ist nun ein Crash der meinen gesammten Firefox mit in den Tot reist....

    Hauptsache ist ja immer, dass du es verstehst und das es funktioniert. Es bringt nichts, wenn du einen Code hast den du nicht verstehst, und noch weniger bringt es was wenn du einen Code hast der nicht tut. Naja, und wenn beides zusammen kommt, dann wirds lustig.

  • dann zeig mal deinen Code.

    Mit freundlichen Grüßen
    Developer
    Go/Python Developer | ehm. Webdeveloper | Fachinformatiker Anwendungsentwicklung
    Arbeitet in einem cloudigen Umfeld bei einem der größten deutschen Rechenzentrumsbetreibern

  • Im CP:

    PHP
    <?php
        $handle = fopen("leader.txt","w");
        fwrite($handle, $_post['leader']);
    ?>


    Auf der Ausgabe Website


    HTML
    <input name="leader" type="text" size="30" maxlength="30" Value="Rox97" placeholder="Name">


    Der Crash ist behoben, war nur ein falsches Komma.

    Hauptsache ist ja immer, dass du es verstehst und das es funktioniert. Es bringt nichts, wenn du einen Code hast den du nicht verstehst, und noch weniger bringt es was wenn du einen Code hast der nicht tut. Naja, und wenn beides zusammen kommt, dann wirds lustig.