Tom: Download-Counter modifiziren

Beitrag lesen

Hello,

also $link = "downloads.php?file=".urlencode("http://www.domain.tld/meine_datei");
  und dann bei der Ausgabe:
  echo  "<a href="$link">zum Download</a>";
Ja, aber damit kann ich dann nur eine Datei aufrufen, wenn ich $link definiere?

Genau. Mit jedem Link kann man dann nur genau eine "Datei" referenzieren
Für sieben Ressourcen benötigt man dann eben sieben Links oder eine Select-Box mit sieben Options...

Allerdings müssen in der header()-Funktion in einem Location-Header immer vollständige URLs angegeben werden. Dass manche Browser das auch so können, weicht vom Standard ab.
Es müsste also heißen:
  header("Location: http://www.meineDomain.tld/index.html")
Was macht diese Funktion und wo muss ich die hinschreiben?

Die Funktion header() schreibt in den an den Browser auszugebenden Datenstrom einen HTTP-Header rein, der den Browser dann veranlassen soll, nochmals bei der angegebenen Adresse nachzufragen.

Du benötigst eine Datei "downloads.dat" in der die URLS der zu zählenden und erlaubtebn Dateien drinstehen, jede URL in einer Zeile.
  http://www.doamain1.de/datei_xyz.txt|0
Muß ich das per Hand in die Datei reinschreiben? Beim Originalscript passiert das automatisch.

Nein, das passiert dort auch nicht automatisch, sondern muss fertig geliefert werden.

Da die Funktion file() dies aber nicht weiß, liest sie nur das, was bereits vorhanden ist und beim anschließenden Wegschreiben der Daten, sind dann die anderen Zählergebnisse verloren.
Die "Quickfunktionen" von PHP liefern aber kein Filehandle und sind daher nicht für direktes Advisory Locking geeignet.

Hm, kennst du irgendein ähnliches Script im Netz, das das Beschriebene bewerkstelligt? Ich brauche dringend so ein Skript, es SOLLTE aber zuverläßig sein! Vielleicht mit Eintrag in eine MySQL Datenbank.

Ja, aber Du wirst es mit Deinen Kenntnissen noch nicht für Deine Zwecke umbauen können. Dazu musst Du noch etwas üben und bitte nicht muckeln, dass ich das jetzt so offen ausspreche.

Schau Dir mal http://selfhtml.bitworks.de --> zählen und speichern ... an

Da ist eine Lockfunktion enthalten, die auch die Quickfunktionen von PHP abdeckt. Man muss dazu eine Dummy-Datei aufbauen.

Es ist eine Downloadfunktion enthalten, die mittels POST aktiviert wird.

Es sind diverse Zähler enthalten und eine zyklische Speicherfunktion.

Du musst Dir davon nun nur die passenden Teile anschauen und nachbauen.

Harzliche Grüße aus http://www.annerschbarrich.de

Tom

--
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
Nur selber lernen macht schlau