[PHP] Ausgaben am anfang einer Textdatei löschen

Dieses Thema im Forum "Webentwicklung" wurde erstellt von naitsgang, 13. November 2008 .

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 13. November 2008
    Ausgaben am anfang einer Textdatei löschen

    Hi,
    Sry, dass ich schon wieder hier reinposte, aber ich habe folgendes Problem:
    Ich schreibe mit php von einem Formular Sachen in eine Textdatei und ich will dass es folgendermaßen da steht:
    Code:
    eintrag1:eintrag2;
    
    Dazu habe ich folgendes geschrieben:

    PHP:
    $daten = $_POST [ text ]. ":" . $_POST [ text2 ]. ";" ;

    fwrite ( $file $daten );
    fclose ( $file );
    text und text2 sind die eingabefelder im Formular, was so aussieht:

    HTML:
    <form action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']); ?>" method="post">
    feld1 <input type="textbox" name="text" size="10"/> <br /> <br />
    Feld2 <input type="textbox" name="text2" size="10"/> <br />
     <input type="submit" name="Submit" value="Abschicken">
    Allerdings werden die Trennzeichen : und ; einfach an den Anfang dazu "geklatscht". Sieht dann wie folgt aus:

    Code:
    :;asd:asd2;
    wie kann ich diese zusätzlichen Zeichen vorne wegbekommen?

    Jede antwort -> BW

    MFG naitsgang
     
  2. 13. November 2008
    AW: Ausgaben am anfang einer Textdatei löschen

    Poste mal mehr Code.
     
  3. 13. November 2008
    AW: Ausgaben am anfang einer Textdatei löschen

    PHP:
    <? php
    $file 
    fopen ( "asd.txt" , "a" );
    $daten = $_POST [ text ]. ":" . $_POST [ text2 ]. ";" ;

    fwrite ( $file $daten );
    fclose ( $file );
    ?>

    <form action="<?php  echo  htmlspecialchars ( $_SERVER [ 'PHP_SELF' ]);  ?>" method="post">
    feld1      <input type="textbox" name="text" size="10"/> <br /> <br />
    Feld2         <input type="textbox" name="text2" size="10"/> <br />
                  <input type="submit" name="Submit" value="Abschicken">
    Das ist atm alles was ich habe. Wollte das mal testweise machen aber komm eben da nicht weiter ?(
     
  4. 13. November 2008
    AW: Ausgaben am anfang einer Textdatei löschen

    PHP:
    <? php
    $nl 
    "\r\n" // oder so, wenn dann halt Zeilenumbruch soll, falls du das umbauen willst in Richtung "file_append_content" (existiert nicht :P)

    if(isset( $_POST [ 'submit' ])) {
     
    $data  $_POST [ 'text' ]. ':' . $_POST [ 'text2' ]. ';' . $nl ;
     
    file_put_contents ( 'file.txt' , $data );

    ?>
    <form action="" method="POST">
    <textarea name="text"></textarea><br />
    <textarea name="text2"></textarea><br />
    <input type="submit" name="submit" value="Save" />
    </form>
    - ?
     
  5. 13. November 2008
    AW: Ausgaben am anfang einer Textdatei löschen

    Thx. Hast mir sehr geholfen. Kannst du mir noch erklären wie du das genau gemacht hast? Damit ichs später evtl. auch mal anwenden kann. Und was auch gut wäre, wenn das nicht überschrieben würde, sondern immer hinten angefügt (geht glaub ich mit "a", hab aber keine Ahnung wo ich das einfügen sollte. Gibts die funktion bei fileputcontents?)

    MFG naitsgang
    Ps Bw haste
     
  6. 13. November 2008
    AW: Ausgaben am anfang einer Textdatei löschen

    PHP:
    <? php
    function  file_append_contents ( $file , $data , $nl = "\r\n" ) {
     
    file_put_contents ( $file , file_get_contents ( $file ). $nl . $data );
    }

    if(isset(
    $_POST [ 'submit' ])) {  // gucken ob formular abgesendet ist, bzw ob button mit name="submit" abgesendet wurde
     
    $data  $_POST [ 'text' ]. ':' . $_POST [ 'text2' ]. ';' // text:text2; in $data
     
    file_append_contents ( 'file.txt' , $data );  // in file.txt ne neue zeile mit $data reinschreiben // anhaengen

    ?>
    <form action="" method="POST">
    <textarea name="text"></textarea><br />
    <textarea name="text2"></textarea><br />
    <input type="submit" name="submit" value="Save" />
    </form>
    - ungetestet. aber is ja nich so komplex, u know.
     
  7. 13. November 2008
    AW: Ausgaben am anfang einer Textdatei löschen

    also du hast einfach vergessen eine abfrage einzubauen, ob das formular überhaupt abgesendet wurde.

    so hab es die Post-Daten beim aufruf der seite noch garnicht und daher ist der string: :; gewesen..

    nun wird durch die if-abfrage nur überprüft ob das formular gesendet wurde.
     
  8. 13. November 2008
    AW: Ausgaben am anfang einer Textdatei löschen

    danke, nett von euch. thx für die erklärungen!
    Ich mach ma dicht. Bws sind raus
    mfg
     
  9. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.