NOF-Forum  |  Referenzen  |  Kontakt  |  Impressum  |  Sitemap

NetObjects Fusion - Tutorials
NOF Tutorials und Hilfe von Thomas Frei-Herrmann

Textdatei auf Server kopieren und automatisch auf Seite ändern

Manchmal besteht der Wunsch, eine sich oft ändernde Textdatei automatisch auf der
Web-Seite anzuzeigen, ohne diese Web-Seite selbst ständig ändern zu müssen.

Ich habe hier mal 5 Beispiele erstellt, wie man dieses Problem lösen könnte.



In einem Inlineframe

nach oben

zeige Text1

zeige Text2

zeige Text3



In einer Tabelle
nach oben


Das ist eine Text-Datei im .txt Format.

Dies ist nur ein Test, um diese Datei text1.txt hier anzuzeigen.

Die Datei kann dann also einzeln hochgeladen werden, muss aber natürlich immer den gleichen Datei-Namen behalten.

Der Text kann so groß sein wie er will, da er sich automatisch auf der PHP Seite Eurem NOF Projekt anpassen wird.

Die Umbrüche werden mit diesem Skript erkannt.

Natürlich kann auch ein Link, wie z.B. Anker oben eingebaut werden.

Man kann den Text natürlich auch wie unten in die Fancy Box einbauen.


Viel Spaß beim Nachbauen wünscht

Thomas


 

 

Das ist eine Text-Datei im .txt Format.

Hier kann man natürlich auch einen Link einbauen, wie z.B. Anker oben oder auch zu meinem Gästebuch.


Diese Datei text3.txt ist etwas kürzer und ich zeige diese Zeile mal in rot an.

Ich habe hier einen feststehenden Hintergrund in diese Tabellen-Zelle gelegt und diese Zelle scrollbar gemacht.

Viel Spaß beim Nachbauen wünscht

Thomas


 

 

Das ist eine Text-Datei im .txt Format.

Hier kann man natürlich auch einen Link einbauen, wie z.B. Anker oben oder auch zu meinem Gästebuch.

Diese Datei text2.txt ist etwas kürzer und ich zeige diese Zeile mal in rot an.

Herzlich willkommen



Viel Spaß beim Nachbauen wünscht

Thomas

 

 



Direkt auf der Seite
nach oben


Das ist eine Text-Datei im .txt Format.

Dies ist nur ein Test, um diese Datei text1.txt hier anzuzeigen.

Die Datei kann dann also einzeln hochgeladen werden, muss aber natürlich immer den gleichen Datei-Namen behalten.

Der Text kann so groß sein wie er will, da er sich automatisch auf der PHP Seite Eurem NOF Projekt anpassen wird.

Die Umbrüche werden mit diesem Skript erkannt.

Natürlich kann auch ein Link, wie z.B. Anker oben eingebaut werden.

Man kann den Text natürlich auch wie unten in die Fancy Box einbauen.


Viel Spaß beim Nachbauen wünscht

Thomas


 

nach oben



In der FancyBox
- klick auf Text1, Text2, Text3 unten
nach oben

zeige Text1

     

zeige Text2

     

zeige Text3


Erklärungen


Ich habe hier einen zusätzlichen Ordner:

texte

in meinem NOF-eigenen Ordner assets auf meinem Server angelegt und in diesen Ordner meine
.txt Dateien kopiert. Bei Bedarf, braucht Ihr also lediglich diese .txt Dateien neu auf Euren Server zu kopieren und nicht mehr die Seite in NOF ändern. Die neue .txt Datei wird dann automatisch hier angezeigt. Ich verlinke dann also in dem Skript unten mittels “relativer Pfadangabe” auf diese .txt Datei.

Alle Seiten, auf denen dieses Skript eingebaut wird, müssen auf PHP umgestellt werden.

> In der “Site-Ansicht” > Menü > Bearbeiten > Benutzerdefinierte Namen
> Dateierweiterung > “PHP” wählen


1) Inlineframe:

Erstellt Euch unter dieser Seite Eure Seiten für die Texte mit der
Master-Rahmen-Einstellung “ZeroMargins”.
Dort zieht Ihr dann ganz oben jeweils ein Textfeld auf und markiert dieses durch einfach Klick. Klickt auf den Button “HTML” und fügt das Skript unten
vor dem Tag” (in NOF 11 “vorher”) ein. Natürlich müsst Ihr in dem Skript die jeweilige Textdatei
(hier “text1.txt”, “text2.txt”, “text3.txt”) mit dem Datei-Namen Eurer .txt Dateien ersetzten.

Nun zieht Ihr auf der Seite wo der Text angezeigt werden soll ein “Inlineframe” auf und verlinkt auf diesen “ZeroMargins” Seiten, die Ihr gerade erstellt habt, mit dem  Ziel: des von Euch verwendeten Inlineframes.


2) Tabelle:

Zieht Euch eine Tabelle auf und zieht wieder ein Textfeld in der Tabellenzelle auf und fügt das Skript unten ebenso in die Text-HTML ein, wie bereits oben erklärt.

Wenn Ihr diese Zelle scrollbar machen wollt und einen festen Hintergrund einfügen wollt, müsst Ihr noch folgendes tun:

Markiert das Textfeld mit einfachem Klick und stellt bei den CSS - Standard Einstellungen das Hintergrund-Bild ein und hakt “Feste-Hintergrundposition” an (linke Bild unten).

Klickt im Fenster “Text-Eigenschaften” auf den 2. Button “Ausrichten” und markiert “Rechts umbrechen” (rechtes Bild unten).

Dann klickt im Fenster “Text-Eigenschaften” auf den Button “HTML” und fügt folgenden Code “vor dem Tag” (in NOF 11 “vorher”) ein. Die Breite (width) und die Höhe (height) müsst Ihr natürlich Euren Bedürfnissen anpassen.

<div style="position:relative; width:730px; height:100px; overflow:auto; border:0px white inset;" >

... “nach dem Tag” (in NOF 11 “nachher”) schließt Ihr diesen Code noch ab mit:

</div>

3) Auf der Seite:

Zieht Euch lediglich in Eurem Layout ein Textfeld auf und fügt das Skript unten ebenso in die Text-HTML ein, wie bereits oben erklärt.


Bemerkung:

Die HTML-Formatierungen, wie

<b>fett</b>
<a href="Link" target="_blank">Link</a>
<font color='#FF0000'>Farbe</font>
<p align="center"><img src="Bild" alt="Herzlich willkommen"></p>

habe ich händisch in die jeweilige .txt Datei eingebaut. Das sieht dann z.B. bei meiner “text2.txt” so aus (hier fett markiert):


<b>Das ist eine Text-Datei im .txt Format.</b>

Hier kann man natürlich auch einen Link einbauen, wie z.B.
<a href="http://www.tommyherrmanndesign.com/nof/html/text-datei-lesen.php#" target="_parent">Anker oben</a> oder auch zu meinem
<a href="./nof-gast.php" target="_blank">Gästebuch</a>.

<font color='#FF0000'>Diese Datei <b>text2.txt</b> ist etwas kürzer und ich zeige diese Zeile mal in rot an</font>.

<p align="center"><img src="../assets/images/Stinktier.gif" alt="Herzlich willkommen"></p>

Viel Spaß beim Nachbauen wünscht

Thomas

4) in der FancyBox

... für meine Erklärungen zur “FancyBox” guckt bitte hier.


Hier das Skript:

<?php

$row = 1;
$handle = fopen ("../assets/texte/text1.txt","r");

while ( ($data = fgetcsv ($handle, 1000, "|")) !== FALSE ) {
    $num = count ($data);
    for ($c=0; $c < $num; $c++) {
        print $data[$c] . "<br>\n";
    }
}

fclose ($handle);

?>

nach oben



CSV Datei von NOF auslesen

Manchmal besteht der Wunsch eine CSV-Textdatei im Tabellenformat auszulesen oder auch anzuzeigen.

Das könnt Ihr mit dem unten stehenden Skript erreichen. Ihr braucht lediglich dieses Skript hier kopieren und mit dem Datei-Namen Eurer CSV Datei versehen.

Dann kopiert Ihr dieses Skript in Euren Windows-Editor und speichert es als PHP Datei ab, wie z.B.:

readcsv.php

Anschließend kopiert Ihr diese Datei (readcsv.php) mittels FTP-Programm in den Ordner auf Euren Server, in dem sich diese CSV-Datei befindet.

Durch Eingabe (oder Verlinkung) des absoluten Pfades auf diese PHP Datei könnt Ihr das Skript dann abrufen.

<?php
$row = 1;                                      // Anzahl der Arrays
$handle = fopen ("formshandler.csv","r");      // Datei zum Lesen öffnen
while ( ($data = fgetcsv ($handle, 1000, ","))
        !== FALSE ) {
                                               // Daten werden aus der Datei
                                               // in ein Array $data gelesen
    $num = count ($data);                      // Felder im Array $data
                                               // werden gezählt

    print "<p> <b>$num fields in line $row:</b> <br>\n";
    $row++;                                    // Anzahl der Arrays wird
                                               // inkrementiert
    for ($c=0; $c < $num; $c++) {              // FOR-Schleife, um Felder
        print $data[$c] . "<br>\n";            // des Arrays auszugeben
    }
}
fclose ($handle);
?>

nach oben

... und so könnte das dann aussehen. In der obersten Rubrik werden meine Feldnamen angezeigt.

... oder so ohne die Feldnamen.

... dann sieht mein Skript wie unten aus.

<?php
$erste=1;                                      // 1. Zeile in CSV-Datei (Feldnamen)
$row = 1;                                      // Anzahl der Arrays
$handle = fopen ("formshandler.csv","r");      // Datei zum Lesen öffnen
while ( ($data = fgetcsv ($handle, 1000, ","))
        !== FALSE ) {
                                               // Daten werden aus der Datei
                                               // in ein Array $data gelesen
    $num = count ($data);                      // Felder im Array $data
                                               // werden gezählt

    IF ($erste == 1) {                         // Anzeige Feldnamen der 1. Zeile
       print "<b>Meine Kontakt-Daten</b><br>"; // durch Überschrift ersetzen
       $erste=2;                               // Variable $erste umsetzen
    }

    IF ($erste == 2) {

       IF ($row == 1) {
          print "---------------------------<br><br>";
          $row++;                              // Anzahl der Arrays wird
                                               // inkrementiert
       } else {
          $abzug = $row-1;                     // Anzeige der Zeile korrigieren
          print "<p> <b>$abzug. Eintrag:</b> <br>\n";
          $row++;                              // Anzahl der Arrays wird
                                               // inkrementiert
          for ($c=0; $c < $num; $c++) {        // FOR-Schleife, um Felder
                print $data[$c] . "<br>\n";    // des Arrays auszugeben
          }
       }
    }
}
fclose ($handle);
?>

nach oben


... oder auch nebeneinander in Tabellenform und hier noch das gleiche Skript mit Suchfunktion.

Tabelle drucken

... dann sieht mein Skript wie unten aus. Hinter den beiden Slash  //stehen Kommentare von mir.

<?php

    //Variable $zeile zum Hochzählen der Zeilennummer
    $zeile = -1;
    //Variable $datei wird gegründet und öffnet die CSV-Datei
    //hier müsst Ihr die korrekte relative Pfadangabe zu Eurer CSV-Datei und deren korrekten Namen eintragen
    $datei = fopen("
formshandler.csv","r");
   
    //Wenn CSV-Datei existiert
    if ($datei)
      {
     
      //Tabelle <table> bis </table> anzeigen mit nur Linien zwischen Zeilen (nicht alle Browser)
      //und Hintergrundfarbe der Tabelle festlegen
      print ("<table border='1' rules='rows' bgcolor='#DCDCDC'>");
     
      //Bemerkungen zu rules:
      //rules="none"    werden überhaupt keine Linien gezogen, der Außenrahmen der Tabelle wird jedoch gezeigt.
      //rules="rows"    werden Linien zwischen allen Tabellenzeilen gezogen, nicht jedoch zwischen den Spalten.
      //rules="cols"    werden Linien zwischen allen Tabellenspalten gezogen, nicht jedoch zwischen den Zeilen.
      //rules="groups"  werden Linien zwischen Kopf, Körper und Fuß einer Tabelle gezogen.
      //rules="all"     werden Linien zwischen allen Tabellenzellen gezogen (Voreinstellung).
     
      //alternative Rahmen-Darstellung unten (auskommentiert)
      //print ("<table border='8' cellspacing='5' cellpadding='1' bgcolor='#DCDCDC'>");
     
      //Variable $dateigroesse wird belegt mit der Dateigröße (korrekten Pfad und Dateinamen der CSV-Datei)
      $dateigroesse=filesize("
formshandler.csv");
      //Variable $data erstellt Array der Datenreihe, achtet hier auf den Separator der CSV-Datei (hier Komma)
      $data = fgetcsv ($datei, $dateigroesse, ",");
     
      //while Schleife um die gesamte CSV-Datei abzufragen
      while($data!=false)
         {
         //Tabellen-Zeile <tr> bis </tr> anzeigen
         print "<tr>";
         //Variable $Zeile wird hochgezählt
         $zeile++;
         //Wenn 1. Zeile, dann anderer Hintergrund als bei allen folgenden Zeilen
         if ($zeile==0)
           {
             //Tabellen-Zelle <td> bis </td> mit Zellen-Breite und Hintergrundfarbe angeben
             print ("<td width='50' style='background-color:#CCCCCC'>");
           } else {
             //Andererseits Position sowie Zellen-Breite und Zellen-Höhe, Farbe, Schriftgröße angeben
             print ("<td align='center' valign='top' width='50' height='50'><b>");
             print ("<font color='#657593' font size='2'>");
             //Zeilen-Nummer und Punkt dahinter ausgeben
             print ($zeile);
             print (".");
         }
         //Stil und Tabellen-Zelle abschließen
         print ("</font></b></td>");
         //Variable $spalten zählen
         $spalten = count ($data);
        
         //for Schleife zum Anzeigen jeder einzelnen Spalte einer Zeile
         for ($c=0; $c < $spalten; $c++) {
           //Wenn 1. Zeile, dann anderer Hintergrund als bei allen folgenden Zeilen
           if ($zeile==0)
             {
                //Tabellen-Zelle <td> bis </td> Hintergrundfarbe angeben
                print ("<td style='background-color:#CCCCCC'>");
             } else {
                //Andererseits Position sowie Zellen-Breite und Zellen-Höhe angeben
                print ("<td align='left' valign='top' width='300' height='50'>");
           }
           if ($zeile==0)
             {
                //Schriftfarbe angeben für 1. Zeile (Überschrift)
                print ("<b><font color='#FFFFFF'>");
             } else {
                //Schriftfarbe der restlichen Zellen-Inhalte
                print ("<font color='#657593' font size='2'>");
           }
           //Ausgabe der Daten
           print ($data[$c]);
           //Stil und Tabellen-Zelle abschließen
           print ("</font></b>");
           //Tabellen-Zelle abschließen
           print ("</td>");
         }
        
         //Tabellen-Zeile abschließen
         print ("</tr>");
         //Array der nächsten Datenreihe einlesen
         $data = fgetcsv ($datei, $dateigroesse, ",");
      }
     
      //CSV-Datei wieder schließen
      fclose($datei);
      //Tabelle abschließen
      print ("</table>");
     
    }
   
?>

Hier könnt Ihr Euch eine “Vorlage” ab NOF 12 (Update 3) downloden.

nach oben

Viel Erfolg!

zurück

 

Tutorials von Thomas Frei-Herrmann

diese Seite weiter empfehlen


Counter Statistik