Intern ❘ Inhaltsverzeichnis ❘ Glossar ❘ Bausteine ❘ Linkliste ❘ Tutorials ❘ Kommentare
Thema: PHP - Counter für Seitenaufrufe ➧ Artikel anzeigen
- Tim ✶✶✶✶✶ schrieb am Mittwoch, den 22 Januar 2020 #1
- Der Counter funktioniert sehr gut. Danke dafür.
(Musste die Datei "counter.txt" allerdings manuell anlegen und eine 0 als Startwert eintragen)
Ist es möglich eine mehrzeilige Counter.txt zu erstellen, die wie folgt aufgebaut ist:
index.php = 11412 Aufrufe
Seite 2.php = 2124 Aufrufe
Seite 3.php = 535 Aufrufe ?
Ich würde gerne die Aufrufe jeder Unterseite meiner Website in einem Dokument speichern.
Mit dem hier vorgestellten Beispiel, müsste ich je PHP-Dokument eine eigen Textdatei anlegen...
MfG
Tim
- Werner schrieb am Mittwoch, den 29 Januar 2020 #2
- Ja, es Ist möglich eine mehrzeilige Counter.txt zu erstellen.
Habe aber keinen fertigen Code parat.
- Peter schrieb am Freitag, den 31 Januar 2020 #3
- Beispiel Text-Counter für Unterseiten:
Dabei wird in diesem Beispiel für jede Unterseite eine eigene Protokolldatei erstellt.
1) Ordner "counter":
Erstelle in dem Ordner "counter" eine PHP Datei mit dem Namen "counter.php".
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
// Dateipfad
$id = basename($_SERVER['SCRIPT_NAME']);
// Pfad zum Protokoll
$protokoll = __DIR__ . '/protokoll-'.$id.'.txt';
// Check, ob Textdatei vorhanden. Wenn nicht, wird eine erstellt mit 0 erstellt
if (!file_exists($protokoll))
{
$datei = fopen($protokoll, 'w');
fwrite($datei, 0);
fclose($datei);
}
// Protokoll auslesen und hochzählen
$zaehler = intval(file_get_contents($protokoll));
$zaehler++;
file_put_contents($protokoll, $zaehler);
2) Eine Ebene oberhalb deine Testdateien zB. testseite-1.php, testseite-1.php
Beispiel:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php
require_once __DIR__ . '/counter/counter.php';
?>
<!DOCTYPE html>
<html lang="de-at">
<head>
<meta charset="UTF-8">
<title>Testseite 1</title>
</head>
<body>
<h1>Testseite 1</h2>
<p>
<?php
// Zählerstand auslesen
echo $zaehler;
?>
</p>
</body>
</html>
Bei Verwendung anderer Ordnernamen bzw Dateinamen müssten die Pfade natürlich angepasst werden.
Dieses Script kann nach Belieben ausgebaut werden, zB eine Reloadsperre mit SESSION.
- Thiemo Melhorn schrieb am Mittwoch, den 4 November 2020 #4
- Hallo Herr Werner Zenk,
obwohl ich die Textdatei "counter.txt" angelegt und hochgeladen habe, wird bei mir dieser Fehler "Parse error: syntax error, unexpected '"counter.txt"' (T_CONSTANT_ENCAPSED_STRING) in /users/melhorn/www/counter.php on line 3" angezeigt. Aber nur warum, weiß ich nicht.
Mit freundlichen Grüßen von
Thiemo Melhorn!
- Werner schrieb am Mittwoch, den 4 November 2020 #5
- Hallo Thiemo,
ich kann dir nur sagen was diese Fehlermeldung bedeutet:
Du hast da irgendwo im PHP-Quelltext ein Anführungszeichen " überschrieben deshalb meckert der PHP-Interpreter.
Welchen Editor verwendest du, normalerweise sieht man das sofort wenn da ein Anführungszeichen fehlt.
Benutze notepad++ - notepad-plus-plus.org/
- Hessi ✶✶✶✶✶ schrieb am Mittwoch, den 23 Juni 2021 #6
- So funktionierte der Zähler bei mir nicht. Die Datei wurde zwar verändert, aber die "0" blieb.
Ich habe nun schlicht das ausführliche
$Zaehler=($Zaehler+1);
verwendet und alles ist gut.
Danke für das Script!
- Werner schrieb am Donnerstag, den 24 Juni 2021 #7
- php.net/manual/de/langu[…]rement.php
Ich sehe gerade das Script ist schon alt, so macht man das heutzutage nicht mehr. Ich werde das aktualisieren.
- Hessi ✶✶✶✶✶ schrieb am Donnerstag, den 24 Juni 2021 #8
- Hi Werner,
super, danke. Solche Seiten wie Deine sind wichtig im Netz.
Vielleicht solltest Du auch den Noobs gleich noch die Auslese/Anzeigemöglichkeit mit auf den Weg geben?
<?php
$Zaehler_gelesen = file_get_contents($Dateiname);
echo $Zaehler_gelesen;
?>
Könnte man ja gleich noch mit in das Script integrieren, dann eben nur:
echo $Zaehler;
Aber ich bin nun echt kein PHP-Crack.
Gruß
Michael
- Werner schrieb am Donnerstag, den 24 Juni 2021 #9
- Vielen Dank für den Tipp mit der Anzeigemöglichkeit 👍
Ich habe das Skript (oben) aktualisiert.