Anzeige
Tutorialbeschreibung

Ein einfacher Textcounter

Ein einfacher Textcounter

In diesem Tutorial werde ich euch schnell zeigen wie man einen einfachen Counter mit Hilfe zwei Dateien programmiert, die da heißen…


In diesem Tutorial werde ich euch schnell zeigen wie man einen einfachen Counter mit Hilfe zwei Dateien programmiert, die da heißen…

index.php
count.txt

In der index.php steht das Skript, dass die Textdatei aufruft und ausliest. Gleichzeitig erhoeht das Skript den Counter um eins und Speicher diesen Wert in der count.txt. Dieser Vorgang geht immer wieder von vorne los, wenn die index.php aufgerufen wird.

Zur Verstaendnis zeige ich erstmal den ganzen Quelltext, dieser liegt zwischen den Tags <body> und </body>. Danach gehen wir Zeile für Zeile den Quelltext durch.

Bilder

 

Die Funktion fopen()

Als erstes ist es mal wichtig zu wissen wie man eine Datei ueberhaupt oeffnet, das funktioniert mit der Funktion

  • fopen = fileopen

Der Syntax sieht folgendermaßen aus

  • fopen("Dateiname", "Modus")
    • Der Dateinamen ist selbst sprechend, hier wird der Namen der zu oeffnenden Datei rein geschrieben.
    • Der Modus gibt an was man mit der Datei machen kann/darf, spricht ob man sie nur oeffnen kann oder auch schreiben usw.

Es gibt folgende Modi:

mode

Beschreibung

'r'

Oeffnet die Datei nur zum Lesen und positioniert den Dateizeiger auf den Anfang der Datei.

'r+'

Oeffnet die Datei zum Lesen und Schreiben und setzt den Dateizeiger auf den Anfang der Datei.

'w'

Oeffnet die Datei nur zum Schreiben und setzt den Dateizeiger auf den Anfang der Datei sowie die Länge der Datei auf 0 Byte. Wenn die Datei nicht existiert wird versucht sie anzulegen.

'w+'

Oeffnet die Datei zum Lesen und Schreiben und setzt den Dateizeiger auf den Anfang der Datei sowie die Länge der Datei auf 0 Byte. Wenn die Datei nicht existiert, wird versucht sie anzulegen.

'a'

Oeffnet die Datei nur zum Schreiben. Positioniert den Dateizeiger auf das Ende der Datei. Wenn die Datei nicht existiert, wird versucht sie anzulegen.

'a+'

Oeffnet die Datei zum Lesen und Schreiben. Positioniert den Dateizeiger auf das Ende der Datei. Wenn die Datei nicht existiert, wird versucht sie anzulegen.



Der geheimnisvolle Dateianzeiger

Der Dateianzeiger ist im Prinzip wie ein unsichtbarer Cursor der entweder am Anfang oder am Ende einer Datei positioniert wird. Die ist je nach gewähltem Modus Variabel. Bei dem Modus r+ wird der Dateianzeiger am Anfang der Datei positioniert.

Die Funktion fgets()

Diese Funktion ließt Daten aus einer Datei. Der Lesevorgang endet wenn die Zeile bzw. Datei zu Ende ist oder wenn die maximale Zahl an Bytes erreicht ist.

Der Syntax sieht folgendermaßen aus

  • fgets($fp, Laenge_in_Bytes)
    • Laenge_in_Bytes gibt an bis wieviel Stellen der Counter zählen kann, wir haben 10 gewählt, das heist im Klartext kann der Counter bis zu neun Stellen zaehlen.

Durch den Aufruf der Funktion fgets ist der Dateizeiger ans Ende der Datei gesprungen, diese Position muss du dir merken.

Dateien in eine Textdatei schreiben

Mit echo $counter wird der Aktuelle Stand ausgegeben und mit $counter++ wird der Counter dann wieder um eins erhoeht. $counter++ ist nichts anderes wie $counter = $counter +1

echo $counter;
$counter++;


Dateizeiger zurücksetzen per rewind()

Da unser Dateinanzeiger immer noch am Ende der Datei sitzt (siehe fgets) müssen wir diesen wieder an den Anfang setzen, dies gelinkgt mit der Funktion rewind().
Der Dateizeiger liegt ja in der Variablen $fp, also sieht der Syntax folgendermaßen aus:

rewind($fp);


Die Funktion fputs()

Nun muessen wir nur noch den Wert der Variablen $counter in die Textdatei zurueckschreiben.
Dazu nehmen wir die Funktion fputs.

Das schießen der Datei mit fclose()

Mit dieser Funktion wird schon wie gesagt die Datei wieder geschlossen.


So das war's, jetzt sollte jeder einen kleinen Counter programmieren können ;-)
Das war mein erstes Tutorial und ich hoffe das ich nicht zu sehr ausgeschweift bin,
solltet ihr Fragen haben dann postet einfach.

Grüße

Naitsab

©by Bastian Oelkuch


Kommentare
Achtung: Du kannst den Inhalt erst nach dem Login kommentieren.
Portrait von frank070365
  • 24.09.2010 - 08:38

Danke, hat mir sehr geholfen.
Und gut erklärt

Portrait von Supersuzi
  • 13.09.2010 - 08:10

Klasse erklärt, DANKE

Portrait von MalteDelfs
  • 29.08.2010 - 12:00

super tutorial.
genau das habe ich als anfänger in php gesucht

Alternative Portrait
-versteckt-(Autor hat Seite verlassen)
  • 12.07.2010 - 15:39

vorbildlich beschrieben, aber ich glaube $counter++ in Zeile 13 müsste vor dem echo $counter in Zeile 12 stehen, da man sonst den alten Zählerstand ausgibt. Oder man schreibt statt der Zeilen 12 und 13 nur echo ++$counter.
Hoffe ich liege richtig !
mfg :-))

Portrait von Jak23
  • 06.04.2010 - 21:23

ok jetzt hab ich es auch hingekriegt Danke

Portrait von icehawk2
  • 17.01.2010 - 16:59

Verständlich beschrieben. . . Werde mal sehen was sich damit anfangen lässt. . .

Portrait von Scorpion9810
  • 17.06.2009 - 15:44

ich finds gut und verstendlich beschrieben, denke mal das wird als skript in meine neue seite einfliesen ;)

Alternative Portrait
-versteckt-(Autor hat Seite verlassen)
  • 09.12.2008 - 17:18

vielen dank hat sehr geholen

Portrait von breakdown
  • 15.12.2007 - 18:00

ich finds recht gut beschrieben

Portrait von saila
  • 07.07.2007 - 01:10

Den Code hätte man auch ausführlicher und kompakter darstellen können mit entsprechender Kommentierung der Zeilen.

Portrait von Naitsab
  • 09.07.2007 - 21:10

Hi, was würdest du denn einfacher machen?
Eine Kommentierung halte ich für unwichtig, da ich die Funktionen einzeln extra beschrieben habe.

Alternative Portrait
-versteckt-(Autor hat Seite verlassen)
  • 18.08.2006 - 22:52

Ganz nettes Tutorial.
Du hast in Zeile 12 einen Fehler:
es muss: echo $counter; heißen - ohne =.

Mfg,
nicobats

Alternative Portrait
-versteckt-(Autor hat Seite verlassen)
  • 17.04.2007 - 21:19

Ein gutes tut aber ich denke in die count.txt datei muss noch als ausgang eine null eingetragen werden oder?

Alternative Portrait
-versteckt-(Autor hat Seite verlassen)
  • 25.07.2006 - 19:25

super workshop,
kann ich gut gebrauchen.
vielen dank

Portrait von Axl79
  • 15.07.2006 - 19:42

Nettes Tutorial, Danke.

Portrait von Naitsab
  • 19.07.2006 - 10:12

Bitte bitte... bald kommt noch einer mit Ip Abfrage bzw. MySQL!

x
×
×