tastar: Download-Counter?

(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&auml;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?&quot; (Original der IHK = Industrie- und Handelskammer)</a></p>
<div align="center">Downloads:
<?
$datei = fopen("dlcounter.txt","r+");
$dlcounter = fgets($datei, 10);
echo '<b>Zugriffsz&auml;hler: '.$dlcounter.'</b>';
?>
</div></td>

  1. 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
    .

    --
    Nur selber lernen macht schlau
    1. 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!

      1. 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
        .

        --
        Nur selber lernen macht schlau
      2. 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

        --
        sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
  2. 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...

    1. 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
      .

      --
      Nur selber lernen macht schlau
  3. 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?&quot; (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

    --
    sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|