Problem mit Schreiben in Datei

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • 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.
    Zuletzt geändert von 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.

    Kommentar


    • #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

      Kommentar


      • #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?

        Kommentar


        • #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

          Kommentar


          • #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.

            Kommentar


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

              echo 
              $array// was passiert hier?

              print_r($array); // hier?

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

              Kommentar


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

                Wo soll denn da bitte der Dateiname hin?

                Kommentar


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

                  Kommentar

                  Lädt...
                  X