Datei öffnen, Wert erhöhen und ausgeben

Alles, was PHP betrifft, kann hier besprochen werden.

Datei öffnen, Wert erhöhen und ausgeben

Postby AlexPausB » 21. April 2003 18:52

Guten Abend,

Ostern gut überstanden?

Also, is eigentlich ne einfache Sache:

Habe ne Bildergalerie und jedesmal wenn ein Bild sich in der Vollansicht öffnet, soll in einer Text-Datei der darin stehende Wert erhöht werden.
Also ein Counter.

Dieser Wert sollte dann unter dem Bild in der Form "Viewed X times" erscheinen.

Jmd einen Tipp?

Danke ;-)
AlexPausB
 
Posts: 471
Joined: 05. February 2003 11:19
Location: Fdorf

Postby Nico » 21. April 2003 20:39

Hi Alex,
bei einer Bildergalerie gehe ich mal davon aus das irgend jemand vorher was geklickt haben muß. Von diesem klick würden ich eine seite aufrufen die eine Datei öffnet, den Wert ausliest, um eins erhöht und wieder zurückschreibt. Das Bild aufrufen und den Wert anzeigen lassen.
Ich hoffe das ich dich so richtig verstanden habe, wenn nicht
so oder so, schönen Abend noch.

Gruß Nico
Nico
 

Postby AlexPausB » 21. April 2003 22:07

Servus Nico,

ja so ähnlich läuft der Hase. Momentan sieht man halt alle Bilder als Thumbnails und per Klick wird dann mit Javascript und PHP ein neues Window erzeugt und die Darstellung erfolgt.

Ich würds warscheinlich DB gestützt hinkriegen, will aber das ganze mit Dateien erledigen. Bin halt noch net soweit, dass ich Dateien einlesen, den Wert erhöhen, speichern und ausgeben kann :roll:

Guts Nächtle!
AlexPausB
 
Posts: 471
Joined: 05. February 2003 11:19
Location: Fdorf

Postby AlexPausB » 21. April 2003 22:59

Hm hat mir doch keine Ruhe gelassen.

Hier mal meine "Lösung".
Code: Select all
// Erstmal Datei in ein Array einlesen und diesen Wert um 1 erhöhen
   $file = "./stats/$img.dat";
        $a = file($file);
        $b = $a[0]+1;
// Jetzt den neuen Wert in die Datei schreiben.
    $fp = fopen($file, "w");
   fputs($fp, $b);


Dann weiter unten im Code gebe ich ganz einfacht mit
Code: Select all
         readfile($file);

den aktuellen Wert wieder aus. Für jede Optimierung oder jeden Tipp bin ich dankbar ;-)
AlexPausB
 
Posts: 471
Joined: 05. February 2003 11:19
Location: Fdorf

Postby Normi » 30. June 2003 18:48

So könnte es dann aussehen:

Code: Select all
<?
  $zaehlerdatei = fopen("datei.txt","r+");
  $zwert = fgets($zaehlerdatei, 10);   // 10 bedeutet es werden max 10 Stellen angezeigt
  if($zwert == "") // Wenn noch kein Wert da ist, so wird erst mal der Wert 0 reingeschrieben
    {
    $zwert = 0;
    }
  $zwert++; // Jetzt wird der Zaehler um 1 erhöht
  echo $zwert; // Und schließlich ausgegeben
  rewind($zaehlerdatei); // Zur speicherung müssen ja alles 10 Stellen mit dem neuen Wert überschrieben, wenn man rewind weglassen würde, so würde dann 12345678910 nacheinander dastehen
  fwrite($zaehlerdatei, $zwert); // Der neue Zaehlerwert wird in die Datei gespeichert
  fclose($datei);
  ?>
Normi
 


Return to PHP

Who is online

Users browsing this forum: No registered users and 2 guests