Download-Counter?
tastar
- php
(1)
kann das so funktionieren? (habe ich aus einem anderen Forum)
Zitat:So ich hab mal eben schnell was gebastelt.
Ich gehe jetzt davon aus das alle PDFs in einem Verzeichniss liegen. Das Script würde sicher auch sonst funzen - du müsstest halt Pfadangaben machen (eventl. muss auch das Script bearbeitet werden) Wenn jemand es verbessern will nur zu :-)
1. Erzeuge eine leere Datei "dlcounter.txt" im PDF Verzeichnis. Passe die Berechtigungen so an das sie auch beschrieben werden kann.
2. Erstelle eine "pdfdownload.php" Datei (kann auch anders heißen - es kommt auf ".php" an) mit Folgenden Inhalt.
--CODE-------------------------------------------------------
<?
$datei = fopen("dlcounter.txt","r+");
$dlcounter = fgets($datei, 10);
if($dlcounter == "") { $dlcounter = 0;}
$dlcounter++;
rewind($datei);
fwrite($datei, $dlcounter);
fclose($datei);
Header( "Content-type: application/pdf");
Header('Content-Disposition: attachment; filename="'.$name.'"');
$fsize = filesize($name);
$data = fread(fopen($name, "r"), $fsize);
echo $data;
?>
3. Verlinke deine PDFs mit:
--CODE-------------------------------------------------------
<a href="/<PDF - Verzeichnis>/pdfdownload.php?name=<PDF-Datei>">Link</a>
Verzichte wenn möglich auf Umlaute wie ä, ö, ü. Leerzeichen ersetzt du im Link durch %20.
4. Um den Zähler anzuschauen kannst du in eine beliebige Seite diesen Code einfügen
--CODE-------------------------------------------------------
<?
$datei = fopen("dlcounter.txt","r+");
$dlcounter = fgets($datei, 10);
echo '<b>Zugriffszähler: '.$dlcounter.'</b>';
?>
Dabei musst du beachten das du diese Datein dann ebenfalls in *.php umbenennst.
(2)
Wenn ja, warum
funktoiniert der 1. Link nicht, der 2. aber
http://www.8ung.at/t72/schule/materi...p?name=IHK.pdf
http://www.8ung.at/t72/schule/material/IHK.pdf
???
(3)
habe es in meine Seite jetzt so eingebaut. Was ist da falsch?
--CODE-------------------------------------------------------
<td><p class="Stil3">-
<a href="http://www.8ung.at/t72/schule/material/pdfdownload.php?name=<IHK.pdf>">Was erwartet die Wirtschaft von Schulabgängern?" (Original der IHK = Industrie- und Handelskammer)</a></p>
<div align="center">Downloads:
<?
$datei = fopen("dlcounter.txt","r+");
$dlcounter = fgets($datei, 10);
echo '<b>Zugriffszähler: '.$dlcounter.'</b>';
?>
</div></td>
Hello,
kann das so funktionieren? (habe ich aus einem anderen Forum)
Nein, nur zufällig.
<?
$datei = fopen("dlcounter.txt","r+");
Was passiert, wenn die Datei nicht vorhanden oder nicht lesbar ist?
$dlcounter = fgets($datei, 10);
Auslesen zum Zweckle der Veränderung darf nur in Bindung mit dem Schreibvorgang, als i.d.R. gebunden durch ein Exclusive Lock, geschehen.
if($dlcounter == "") { $dlcounter = 0;}
$dlcounter++;
rewind($datei);
fwrite($datei, $dlcounter);
Es fehlt die Anpassung der Dateilaänge an den neuen Inhalt. für den fall, dass dieser kürzer geworden ist
fclose($datei);
...
Ein harzliches Glückauf
Tom vom Berg
http://bergpost.annerschbarrich.de
.
Sorry, ich habe keine Ahnung von dem Zeug.
Kannst du die Vorlage umschreiben, so dass sie funktioniert und ich sie nur rüberkopieren muss?
Wäre großartig!
Hello,
Kannst du die Vorlage umschreiben, so dass sie funktioniert und ich sie nur rüberkopieren muss?
Ist das ein Auftrag?
Der Stundensatz beträgt 49 Euronen.
Ich benötige ungefähr 22 Minuten für die Abwicklung.
:-)
Ein harzliches Glückauf
Tom vom Berg
http://bergpost.annerschbarrich.de
.
Mahlzeit,
Sorry, ich habe keine Ahnung von dem Zeug.
Dann schau Dich mal um und rate mal, für das "SELF" in "SELFHTML" steht ...
MfG,
EKKi
Und wieder verweise ich auf meine Lieblingsseite:
http://www.kick-image.at/kick-image_webdesign_webtools_download_log.html
Da ist ein fertiges Tool zu finden...
Hello,
Und wieder verweise ich auf meine Lieblingsseite:
http://www.kick-image.at/kick-image_webdesign_webtools_download_log.html
Da ist ein fertiges Tool zu finden...
was nichts taugt [1], antiquiert geschrieben ist [2] und auch noch einen Tippfehler [2] enthält
[1] Keine Berücksichtigung konkurrierender Zugriffe.
Das Lesen und Schreiben der Zählerdatei muss mit einem EXCLUSIVE Lock gebunden sein
Der Zähler wird also auf jeden Fall irgendwann Müll zählen
[2] Bei den zu erwartenden Datenmengen wäre ein Array und das Pärchen
serialize()/unserialize() für das Format Zählerdatei die passende Lösung
[3] # header("Content-disposition: attachment; filename=".$dl.""); ## falsch
header("Content-disposition: attachment; filename="".$dl.""");
Ein harzliches Glückauf
Tom vom Berg
http://bergpost.annerschbarrich.de
.
Mahlzeit,
(1)
kann das so funktionieren? (habe ich aus einem anderen Forum)
Nein.
<?
Short open tags sind keine gute Idee.
Header('Content-Disposition: attachment; filename="'.$name.'"');
Wo wird die Variable "$name" mit irgendeinem Inhalt gefüllt?
(2)
Wenn ja, warum
funktoiniert der 1. Link nicht, der 2. aber
http://www.8ung.at/t72/schule/materi...p?name=IHK.pdf
Der Link sieht ziemlich komisch aus - meinst Du nicht eher "http://www.8ung.at/t72/schule/material.php?name=IHK.pdf"?
(3)
habe es in meine Seite jetzt so eingebaut. Was ist da falsch?
Vieles.
--CODE-------------------------------------------------------
<td><p class="Stil3">-
"Stil3" ist ein äußerst ungünstiger Name für eine Klasse - er sagt absolut NICHTS über die Art des Inhalts oder der Darstellung aus.
<a href="http://www.8ung.at/t72/schule/material/pdfdownload.php?name=<IHK.pdf>">Was erwartet die Wirtschaft von Schulabgängern?" (Original der IHK = Industrie- und Handelskammer)</a></p>
Ich würde mich doch stark wundern, wenn auf Deinem Server eine Datei namens "<IHK.pdf>" existierte ... versuch's mal ohne die spitzen Klammen (die im Übrigen den gesamten Code invalide machen dürften).
MfG,
EKKi