Problem mit Schreiben in Datei

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Problem mit Schreiben in Datei

    Hi,
    ich habe einen Script, der Daten aus einem Formular als Link ans Ende einer txt-Datei einfügt.

    PHP Code:
    if (is_writable($latest_news)) {

       if (!
    $handle fopen($latest_news,'a+')) {
             echo 
    "Error #3";
             exit;
       }
       if (
    fwrite($handle,smilies("<br><a href 
    =index.php?act=blog&blogid=
    $blog_identifier>$date - 
    $header</a><br>")) === FALSE) {
           echo 
    "Error #4";
           exit;
       }
       
       echo 
    "";
         
       
    fclose($handle);

    } else {
       echo 
    "Error #5";
    }
    }
    else
    {
    echo(
    "incorrect password");
    }

    ?> 

    Nun will ich aber den Link am Anfang einfügen, wenn ich a+ durch r+ ersetze, wird aber der Anfang des existierenden Textes überschrieben. Nun habe ich bereits gelesen, dass dieses Problem nicht so einfach gelöst werden kann. Ich möchte nun also den existierenden Text komplett ersetzen, indem ich w+ benutze und so den gesamten Text lösche und dann erst den neuen Link und dann den alten Text einfüge.

    PHP Code:
    if (is_writable($latest_news)) {

       if (!
    $handle fopen($latest_news,'w+')) {
             echo 
    "Error #3";
             exit;
       }
    $noch=file("blog.txt");
       if (
    fwrite($handle,smilies("<br><a href 
    =index.php?act=blog&blogid=
    $blog_identifier>$date - 
    $header</a><br>$noch")) === FALSE) {
           echo 
    "Error #4";
           exit;
       }
       
       echo 
    "";
         
       
    fclose($handle);

    } else {
       echo 
    "Error #5";
    }
    }
    else
    {
    echo(
    "incorrect password");
    }

    ?> 
    Nun wird aber hinter dem neuen Link nur "Array" ausgegeben, was wohl irgendwie mit der Art der Abfrage zusammenhängt. Allerdings weiß ich nicht, wie ich das konkret beheben soll. Kann mir das einer kurz erklären bzw. den korrekten Code posten? Danke.
    Last edited by iron_net; 25-02-2006, 14:32.

  • #2
    bitte code stets umbrechen!

    $noch ist ein array und keine variable.
    wenn du es ausgeben willst, musst du es erst mit implode() zusammenführen.

    Comment


    • #3
      Re: Problem mit Schreiben in Datei

      Nun wird aber hinter dem neuen Link nur "Array" ausgegeben,
      dann hast du versucht, ein array als string zu verwenden. laß dir das array mal mit print_rausgeben, verwende dann das passende element.

      umbrich bitte deinen beitrag. danke.
      Die Zeit hat ihre Kinder längst gefressen

      Comment


      • #4
        Sorry hatte nicht drauf geachtet.

        Ich mache also print_r($noch) oder print_r("blog.txt")?

        Und wo füge ich das genau ein?

        Comment


        • #5
          gewöhne dir an, zuerst immer im manual nachzuschlagen:
          http://de2.php.net/manual/en/function.print-r.php
          http://de.php.net/manual/en/function.implode.php

          Comment


          • #6
            Habe ich, das hat mich aber nicht weiter gebracht. Ich weiß nicht, wie ich mit den Befehlen in Bezug auf die Datei umgehen soll...daher meine Frage.

            Comment


            • #7
              PHP Code:
              $array = array('dieses ''array ''kommt ''von irgendwo');

              echo 
              $array// was passiert hier?

              print_r($array); // hier?

              echo implode(''$array); // und hier? 

              Comment


              • #8
                Die Zaunpfähle sollen wohl irgendwo hin winken, aber ich sehe es nicht

                Wo soll denn da bitte der Dateiname hin?

                Comment


                • #9
                  lass den dateinamen in ruhe, der ist schon da, wo er hingehört.

                  Comment

                  Working...
                  X