file.txt im textarea ausgeben

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

  • file.txt im textarea ausgeben

    Ich habe folgendes Problem:
    Ich möchte ganzen Inhalt einer TXT Datei im Textarea ausgeben lassen.
    Der Script sihet folgendermassen aus:
    PHP-Code:
    <?   
    $datei = "news.txt";
    @$fp = fopen($datei,"r");
    if (!$fp) { 
    print "File $datei ist nicht vorhanden<br>\n"; 
    } else { 
    $fileok = "ok";
    $text = fgets($fp, filesize('news.txt'));  

    @fclose($fp);                      
    echo" <textarea name=\"message\" class=search cols=60 rows=15>".$text."</textarea>"; 
     ?>
    Das Problem ist, das nur wenige Zeilen der Datei ausgelesen werden, also, nicht der ganze Inhalt.
    Woran liegt das?

  • #2
    PHP-Code:
    <? 
    $datei = "news.txt";
    @$fp = fopen($datei,"r");
    if (!$fp) { 
        print "File $datei ist nicht vorhanden<br>\n"; 
    } else { 
        while (!feof($fp)) { 
            $text .= fgets($fp, 4096);
        }  

    @fclose($fp);                      
    echo" <textarea name=\"message\" class=search cols=60 rows=15>".$text."</textarea>"; 
    ?>

    Kommentar


    • #3
      Kann es daran liegen, dass der Script die Datei nur bis zum ersten Zeilenumbruch ausliest?

      Und wie kann ich das umgehen, dass er dabei nicht aufhört sondern textfile weiter einliest ???

      Kommentar


      • #4
        Hand

        Hand du bist da best
        Es klappt hura!
        UNd geht das, dass die HTML-Tags nicht ausgegeben werden, ich meine, dasss sie nicht angezeigt werden, aber an den gleichen Stellen beibehalten bleiben, sodass beim erneutem Abspeichern
        die in die Datei auch mitgeschrieben werden?

        Kommentar


        • #5
          Sorry, dazu habe ich keine Idee.

          Anzeigen ohne HTML-Tags ist kein Problem.

          echo" <textarea name=\"message\" class=search cols=60 rows=15>".strip_tags($text)."</textarea>";

          Aber dann diese wieder einzusetzen? Nein da habe ich keine Idee.

          Kommentar


          • #6
            edit: mußte die BB-Code-Tags entfernen, antworten war so aus unbekanntem Grund nicht möglich. Außerdem habe ich ein paar Leerzeichen eingefügt, damit gelegentlich mal ein Zeilenumbruch rein paßt.

            Schau Dir das einmal an eine wysiwyg-Textarea, zumindet für IExplorer.
            (Wollte File hochladen, hat aber nicht funktioniert)

            <TITLE>DASAT WebED</TITLE>
            <body bgcolor="#D2CFFC">
            <SCRIPT>

            var bLoad=false,public_description=new Editor

            function Editor() {
            this.put_html=put_html;
            this.get_html=get_html;
            this.testHTML=testHTML
            this.bReady = false
            }

            function cleanupHTML() {
            bodyTags=idEdit.document.body.all, i
            for (i=bodyTags.tags("FONT").length-1;i >= 0;i--)
            if (bodyTags.tags("FONT")[i]. style.backgroundColor="#ffffff") {
            bodyTags.tags("FONT")[i]. style.backgroundColor=""
            if (bodyTags.tags("FONT")[i]. outerHTML.substring(0,6)=="<FONT>")
            bodyTags.tags("FONT")[i].outerHTML=bodyTags.tags("FONT")[i].innerHTML
            }
            }

            function testHTML(bAllowHead,extras) {
            mW.click()
            var badStuff=new Array("DASAT"), headStuff=new Array("HTML","BODY","TITLE","BASE","LINK","META","STYLE"), hasStuff=new Array(), bodyTags=idEdit.document.body.all, i=0
            for (i=0;i<badStuff.length;i++)
            if (bodyTags.tags(badStuff[i]).length>0)
            hasStuff[hasStuff.length]=badStuff[i]
            if (!bAllowHead)
            for (i=0;i<headStuff.length;i++)
            if (bodyTags.tags(headStuff[i]).length>0)
            hasStuff[hasStuff.length]=headStuff[i]
            if (extras!=null)
            for (i=0;i<extras.length;i++)
            if (bodyTags.tags(extras[i]).length>0)
            hasStuff[hasStuff.length]=extras[i]
            var str=""
            if (hasStuff.length>0) {
            str="Please remove the following HTML Tags:"
            for (i=0;i<hasStuff.length;i++)
            str+="\n "+hasStuff[i]
            str+= "\nRemember, when using HTML Mode you may need to escape \nthe brackets surrounding tags (< and >) with &lt; and &gt;"
            setTimeout("mH.click()",0)
            }
            return str
            }

            function get_html() {

            if (bMode) {
            cleanupHTML()
            return idEdit.document.body.innerHTML
            }
            else
            return idEdit.document.body.innerText;
            }
            function put_html(sVal) {
            if (bMode)
            idEdit.document.body.innerHTML=sVal
            else
            idEdit.document.body.innerText=sVal
            }

            var sHeader="<BODY STYLE=\"font:10pt geneva,arial,sans-serif\">---input---here---", bMode=true,sel=null

            function displayError() {alert("Formatting toolbar is only accessible in WYSIWYG mode");idEdit.focus()}

            function format(what,opt) {
            if (!bMode) {
            displayError()
            return
            }
            if (opt=="removeFormat"){
            what=opt;opt=null
            }
            if (opt=="CustomFont")
            opt = prompt("Format your text with what font face?","Geneva, Arial, Sans-Serif")
            if ((opt=="") && (what=="forecolor"))
            opt = prompt("Format your text with what color?","Black")
            if (bMode) {
            if (opt==null)
            idEdit.document.execCommand(what)
            else
            idEdit.document.execCommand(what,"",opt)
            var s=idEdit.document.selection.createRange(),p=s.parentElement()
            idEdit.focus()
            }
            sel=null
            }

            function getEl(sTag,start) {
            while ((start!=null) && (start.tagName!=sTag))
            start = start.parentElement
            return start
            }

            function createLink() {
            if (!bMode) {
            displayError()
            return
            }
            var isA = getEl("A",idEdit.document.selection.createRange().parentElement())
            var str=prompt("Where do you want to link to? (eg., http:\/\/www.SiteExperts.com\/)",isA ? isA.href : "http:\/\/")
            if ((str!=null) && (str!="http://")) {
            if ((idEdit.document.selection.type == "None") && (!isA)) {
            var sel = idEdit.document.selection.createRange();
            sel.pasteHTML("<A HREF=\""+str+"\">"+str+"</A> ");
            sel.select();
            }
            else
            format("CreateLink",str);
            }
            else
            idEdit.focus();
            }

            function setMode(bNewMode) {
            if (bNewMode!=bMode) {
            if (bNewMode) {
            var sContents=idEdit.document.body.innerText
            idEdit.document.open()
            idEdit.document.write(sHeader)
            idEdit.document.close()
            idEdit.document.body.innerHTML=sContents
            }
            else {
            cleanupHTML()
            var sContents=idEdit.document.body.innerHTML
            idEdit.document.open()
            idEdit.document.write("<BODY style=\"font:10pt courier, monospace\">")
            idEdit.document.close()
            idEdit.document.body.innerText=sContents
            }
            bMode=bNewMode
            for (var i=0;i<htmlOnly.children.length;i++)
            htmlOnly.children[i].disabled=(!bMode)
            }
            modeA.className=bMode?"current":"";modeB.className=bMode?"":"current"
            idEdit.focus()
            }
            </SCRIPT>
            <SCRIPT FOR="EditCtrl" EVENT="DocumentComplete()">
            bLoad=true
            </SCRIPT>
            <BODY ONSELECTSTART="return false" ONLOAD="doLoad()" STYLE="margin:0pt;padding:2pt;cursor: default">
            <DIV align="center" ID=tb3><NOBR><INPUT CHECKED TYPE=radio NAME=rMode ID=mW ONCLICK="setMode(true)"><LABEL class=current FOR=mw ID=modeA><font face="arial, helvetica" font size="2">WYSIWYG Mode</font></LABEL> <INPUT TYPE=radio NAME=rMode ID=mH ONCLICK="setMode(false)"><LABEL FOR=mH ID=modeB><font face="arial, helvetica" font size="2">HTML Text Mode</font></LABEL></NOBR></DIV>

            <DIV ID=idBox STYLE="width: 100%;text-align: center;visibility: hidden">
            <TABLE ID=tb1 class=toolbar CELLSPACING=2 CELLPADDING=0 STYLE="padding-top: 1pt;margin-bottom: 2pt"><TR><TD VALIGN=MIDDLE NOWRAP ID=htmlOnly>
            <SELECT ONCHANGE="format('formatBlock',this[this.selectedIndex].value);this.selectedIndex=0">
            <OPTION CLASS=heading SELECTED>Paragraph<OPTION VALUE="&lt;P&gt;">Normal &lt;P&gt;<OPTION VALUE="&lt;H1&gt;">Heading 1 &lt;H1&gt;<OPTION VALUE="&lt;H2&gt;">Heading 2 &lt;H2&gt;<OPTION VALUE="&lt;H3&gt;">Heading 3 &lt;H3&gt;<OPTION VALUE="&lt;H4&gt;">Heading 4 &lt;H4&gt;<OPTION VALUE="&lt;H5&gt;">Heading 5 &lt;H5&gt;<OPTION VALUE="&lt;H6&gt;">Heading 6 &lt;H6&gt;<OPTION VALUE="&lt;PRE&gt;">Pre &lt;PRE&gt;<OPTION VALUE="removeFormat" STYLE="color: darkred">Clear Formatting
            </SELECT>&nbsp;&nbsp;
            <SELECT ONCHANGE="format('fontname',this[this.selectedIndex].value);this.selectedIndex=0">
            <OPTION CLASS=heading SELECTED>Font<OPTION VALUE="geneva,arial,sans-serif">Arial<OPTION VALUE="verdana,geneva,arial,sans-serif">Verdana<OPTION VALUE="times,serif">Times<OPTION VALUE="courier, monospace">Courier
            <OPTION STYLE="color: navy" VALUE="CustomFont">Custom...
            </SELECT>
            <SELECT ONCHANGE="format('fontSize',this[this.selectedIndex].text);this.selectedIndex=0">
            <OPTION CLASS=heading>Size<OPTION>1<OPTION>2<OPTION>3<OPTION>4<OPTION>5<OPTION>6<OPTION>7
            </SELECT>
            <SELECT ONCHANGE="format('forecolor',this[this.selectedIndex].style.color);this.selectedIndex=0">
            <OPTION CLASS=heading SELECTED>Color<OPTION STYLE="color: black">Black<OPTION STYLE="color: Gray">Gray<OPTION STYLE="color: DarkRed">Dark Red<OPTION STYLE="color: navy">Navy<OPTION STYLE="color: darkgreen">Dark Green
            <OPTION>Custom...
            </SELECT>
            </TD></TR></TABLE>
            <DIV ID=tb2 class=toolbar STYLE="width: 270" ONSELECTSTART="return false" ONDRAGSTART="return false">


            <SCRIPT FOR="EditCtrl" EVENT="ShowContextMenu(xPos, yPos)">//important</SCRIPT>

            <SCRIPT>
            var buttons=new Array(24,23,23,4,23,23,23,4,23,23,23,23,4,24),
            action=new Array("bold","italic","underline","","justifyleft","justifycenter","justifyright", "","insertorderedlist","insertunorderedlist","outdent","indent", "","createLink"),
            tooltip=new Array("Bold Text","Italic Text","Underline Text","","Left Justify", "Center Justify","Right Justify","","Ordered List","Unordered List", "Remove Indent","Indent","","Create Hyperlink"),
            left=0,s="";
            for (var i=0;i<buttons.length;i++) {
            s+="<SPAN STYLE='position:relative;height:26;width: " + buttons[i] + "'><SPAN STYLE='position:absolute;margin:0px;padding:0;height:26;top:0;left:0;width:" + (buttons[i]) + ";clip:rect(0 "+ buttons[i]+" 25 "+0+");overflow:hidden'><IMG BORDER=0 SRC='toolbar.gif' STYLE='position:absolute;top:0;left:-" + left + "' WIDTH=267 HEIGHT=50"
            if (buttons[i]!=4) {
            s+=" onmouseover='this.style.top=-25' onmouseout='this.style.top=0' ONCLICK=\""
            if (action[i]!="createLink")
            s+="format('" + action[i] + "');this.style.top=0\" "
            else
            s+="createLink();this.style.top=0\" "
            s+="TITLE=\"" + tooltip[i] + "\""
            }
            s+="></SPAN></SPAN>"
            left+=buttons[i]
            }
            document.write(s + "</DIV>")
            function initEditor(bWhichEditor) {
            if (bWhichEditor)
            idEdit = EditCtrl.DOM.parentWindow
            else {
            EditCtrl.document.designMode="On"
            idEdit = EditCtrl
            }
            idEdit.document.open()
            idEdit.document.write(sHeader)
            idEdit.document.close()

            external.raiseEvent("onready",window.event)
            }

            function doLoad() {
            idBox.style.visibility=''

            initEditor(false)
            bLoad=true;
            idEdit.focus()

            }

            document.write("<IFRAME NAME=EditCtrl WIDTH=100%></IFRAME>")

            </SCRIPT>

            </DIV>
            <SCRIPT>
            setTimeout("document.all.EditCtrl.style.height=document.body.offsetHeight-90",0)
            window.onresize = new Function("document.all.EditCtrl.style.height=document.body.offsetHeight-90")
            </SCRIPT>
            </body>
            Zuletzt geändert von Titus; 20.03.2002, 00:20.

            Kommentar


            • #7
              @hand: Das funktioniert möglicherweise nicht, weil ein Haufen Semikolons fehlen.

              Aber ich glaube auch nicht, dass deine Codewüste archie irgendwie weiterbringt, zumal ohne Kommentare ... mach doch mal ein Tut draus, wenn´s funktioniert!

              @archie: Wenn du die Tags nicht unbedingt verstecken willst, dann schreib den Text einfach mit htmlentities() rein - das verhindert wenigstens, dass ein eventuelles </textarea> dein gesamtes Layout zerschießt, wie es in diesem Forum bis vor kurzem war.

              PS: Ich weiß warum ich vorhin nicht antworten konnte: hand´s Beitrag hat die Tabelle dermaßen aufgebläht, dass das Eingabefeld rechts aus meinem Blickfeld verschwunden ist.

              PPS: Aber kann mir mal eine verraten, warum diese Seite so seltsam ruckelt?
              mein Sport: mein Frühstück: meine Arbeit:

              Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

              Kommentar


              • #8
                @ Titus
                Sample für wysiwyg-Textarea funktioniert, ich habe es gerade aus dem Thread herauskopiert und soweit gestestet. Ich wollte das File ja als ZIP uploaden, was aber nicht funktioniert hat.

                Kommentar


                • #9
                  Danke Leute für eure Bemühungen. Ich bin schon damit sehr zufrieden, dass es auch mit HTML Tags geklappt hat, da es nur dazu dienen soll, falls man sich vertipt hat File net downloaden und uploaden zu müssen, um was korigieren zu können.
                  Danke an euch.
                  Ich denke aber, dass es leit geht wenn man mysql benutzt, deswegen fange ich auch langsamm an mysql zu lernen.

                  PS. was ist der Unterschied zwichen
                  PHP-Code:
                  create database 
                  und
                  PHP-Code:
                  create Table 
                  ????
                  Datenbank habe ich von meinem HOster vorinstalliert bekommen die Heisst irgendwie BZTVD7 oder so
                  und ich kann darin nur tabellen anlegen.

                  Kommentar


                  • #10
                    Eine Datenbank ist ein Behältnis für Informationen die gespeichert werden sollen. (create database)

                    Die Daten einer Datenbank werden in Tabellen angeordnet (create table). Eine Datenbank beinhaltet eine oder mehrerer Tabellen.

                    Die Tablenn wiederum sind in Zeilen und Spalten unterteilt

                    Eine Zeile einer Tabelle ist ein Datensatz

                    Kommentar


                    • #11
                      So habe ich mir das auch gedach!
                      Aber Database kann ich leider net anlegen nur tabellen, kann sein dass mein Hoster das net erlaubt, und deshalb die .....?
                      PS: HIer ist der gesammte CODE, falls noch einer sowas braucht.

                      PHP-Code:
                      <? 
                      $datei = "news.txt";
                      @$fp = fopen($datei,"r");
                      if (!$fp) { 
                          print "$datei ist nicht vorhanden<br>\n"; 
                      } else { 
                          while (!feof($fp)) { 
                              $text .= fgets($fp, 4096);
                          }  

                      @fclose($fp);                      
                      echo" <textarea name=\"message\" class=search cols=60 rows=15>".$text."</textarea>"; 

                      if ($id == Admin && $passwort == pass)
                      {
                      $datei = fopen("news.txt","w");
                      if ($datei)
                      {
                      $message = stripslashes($message);
                      fputs($datei, "$message");
                      fclose($datei);

                      }
                      ?>
                      THX an ALLE und gute Nacht

                      Kommentar

                      Lädt...
                      X