[PHP] Für Besucherzählerstand zwei Dateien anlegen

  • Ersteller Ersteller Mr. Snoot
  • Erstellt am Erstellt am
Hallo Gauder,

wenn die counter.txt im gleichen Ordner wie die counter.php liegt gibt es noch eine andere schöne Lösung.

Schreibe in der counter.php dann folgendes:
PHP:
fopen(dirname(__FILE__).'/counter.txt', $mode);

Mit diesem Befehl sucht er die counter.txt anhand des Pfades der counter.php und nicht anhand des Pfades der aufrufenden Datei.


Ciao
 
Ich glaub ich muss bei der jetzigen Variante von mh1001 bleiben, kriege das anders nicht zum Laufen.
 
Gauder schrieb:
Ich glaub ich muss bei der jetzigen Variante von mh1001 bleiben, kriege das anders nicht zum Laufen.


Also wie jetzt???

Wenn ich Dich richtig verstanden habe, includest Du doch einfach die counter.php in die entsprechende Seite welche gezählt werden soll, richtig?
Die counter.php liegt zusammen mit der counter.txt im scripts Verzeichnis eine Ebene unter dem DOCUMENT_ROOT, oder?

Sagen wir es ist jetzt die index.php (oder wie auch immer) in Deinem DOCUMENT_ROOT in welche die counter.php eingebunden werden soll.

Dann wäre der Aufruf doch so:
PHP:
<?php include './scripts/counter.php'; ?>

So ist es nun aber die datei blabla.php im Ordner tingeltangel welcher direkt unter dem DOCUMENT_ROOT liegt, dann muss der Aufruf so aussehen:
PHP:
<?php include '../scripts/counter.php'; ?>

So je nach Ebene also immer weiter, die '../' verwenden, oder eben den oben genannten Befehl mit $_SERVER['DOCUMENT_ROOT']. Das sähe dann überall gleich aus. nämlich so:
PHP:
<?php include $_SERVER['DOCUMENT_ROOT'].'/scripts/counter.php'; ?>


In deiner Original counter.php ersetzt Du nun folgende Zeile
PHP:
$counterfile = "../_scripts/counter.txt";
durch diese hier:
PHP:
$counterfile = dirname(__FILE__).'/counter.txt';

und dann noch:
PHP:
$url_to_images="_img/_counter/";
durch diese hier:
PHP:
$url_to_images = 'http://'.$_SERVER['SERVER_NAME'].'/_img/_counter/';
Das gilt allerdings nur, wenn der Ordner _img direkt im DOCUMENT_ROOT liegt. Wenn nicht, musst Du natürlich auch hier noch die Pfade entsprechend deiner Ordnerstruktur anpassen.

[EDIT]
So habe dir mal die überarbeitete Datei angehangen.
Wichtig ist, dass counter.php und counter.txt im gleichen Verzeichnis liegen.

So ich hoffe das hilft dir jetzt weiter.

Ciao
 

Anhänge

Zuletzt bearbeitet:
Ist alles genau so, wie du es beschreibst. Aber bei den Dateien im Root werden die Zahlen (Bilder) des Counters nicht angezeigt. Kommt aber auch keine Fehlermeldung oder so.

Bei den Dateien in Unterverzeichnissen klappt's einwandfrei.

Ändert auch nichts, wenn ich irgendeine der zwei Varianten benutze:
PHP:
$url_to_images="http://www.halbleiter.org/_img/_counter/";

$url_to_images = 'http://'.$_SERVER['SERVER_NAME'].'/_img/_counter/';
 
Welche Variante zum Einbinden hast Du denn jetzt verwendet???

Hatte das Ganze bis eben mir nur theoretisch durchdacht. Nur jetzt habe ich mir extra nen paar Bilder angelegt, um das auch praktisch durchzutesten. Konnte Deinen Fehler nur leider nicht reproduzieren, d.h. es funktioniert einwandfrei.

Verwende am Besten dies hier zum Einbinden, damit hat es bei mir geklappt:
PHP:
<?php include $_SERVER['DOCUMENT_ROOT'].'/scripts/counter.php'; ?>

Ciao
 
Also so wie in deinem letzten Post klappt es nicht (ist ja identisch mit dem aus dem Post davor); Zahlen werden nicht angezeigt.

Wenn ich aber die counter.php wie von dir beschrieben anpasse, aber in den Dateien im Root die counter.php wie bisher mit
PHP:
include("scripts/counter.php");
einbinde, klappt es nun scheinbar.

Vielen Dank! :)
 
Zurück
Oben