Seite 1 von 1
Datei öffnen, Wert erhöhen und ausgeben
Verfasst: 21.04.2003 20:25
von SuxxeS
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

Verfasst: 21.04.2003 21:08
von PhilippK
So als kleine Inspiration (die SQL-Abfragen kannst du davor reinbringen):
Code: Alles auswählen
header("Content-type: $mime_type");
header("Content-Disposition: attachment; filename=$filename");
readfile($url);
Das sollte funktionieren

(tut's bei mir zumindest)
Gruß, Philipp
Verfasst: 21.04.2003 23:20
von SuxxeS
Servus PhilippK,
ich glaub wir haben irschendwie nicht das gleiche gemeint
Sagen wirs mal so:
Thumbnails sind sichtbar, per Mausklick öffnet sich mit JavaScript + PHP ein neues Fenster, entsprechend der Bild-Dimesionen etc.
Jetzt muss ich nur noch in die PHP-Datei mit bestimmten Code eine Datei bei nicht vorhanden sein, anlegen oder, wenn sie schon da is, den enthaltenen Wert erhöhen.
Den erhöhten Wert soll dann der Besucher unter dem Bild angezeigt bekommen.
Das dürften nicht soviele Zeilen Code sein, doch ich steh da grad aufm Schlauch....
Verfasst: 22.04.2003 00:05
von SuxxeS
Hm hat mir doch keine Ruhe gelassen.
Hier mal meine "Lösung".
Code: Alles auswählen
// 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
den aktuellen Wert wieder aus. Für jede Optimierung oder jeden Tipp bin ich dankbar

Verfasst: 22.04.2003 11:18
von Steffen
Den Inhalt der Datei nocheinmal auszulesen, wo doch der aktuelle Wert ohnehin schon in einer Variable steht, halte ich für überflüssig.
Code: Alles auswählen
$file = "./stats/" . $img . ".dat";
if($a = @file($file)) $b = $a[0] + 1;
else $b = 1;
if($fp = @fopen($file,"w"))
{
@fputs($fp,$b);
@fclose($fp);
}
else echo "<i>Counterdaten konnten nicht geschrieben werden!</i>";
...
echo "Viewed " . $b . " times";
Verfasst: 22.04.2003 18:06
von SuxxeS
Servus Steffen,
okay das sehe ich ein und vielleicht sollte ich auch die Datei wieder schliessen wenn ich sie schon man geöffnet habe
Thx!