Downloadmanager

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Downloadmanager

    ich möchte mir gerne ein script basteln, welches downloads verwaltet.
    in erster linie kommt es mir darauf an, dass der traffic gezählt wird und dann beim überschreiten von einem festgelegten wert (z.b. 40gb) alle downloads gesperrt werden bis zum nächsten monat.

    soweit krieg ich das noch selbst hin, was mein problem ist, wie ich den direkten download verhinder.
    da bräuchte ich bitte einen lösungsansatz.
    bitte nicht posten, dass ich die datei serverseitig kopieren könnte, die dateigröße liegt zwischen 500kb und 250mb.
    also es muss etwas sein, was schnell geht und so wenig traffic wie möglich verursacht.
    cronjobs sind bei mir nicht möglich (wg. tarif)
    serverseitig installiert sind Apache 1.3.27, php 4.3.1, mysql (interne API Version) 3.23.55
    Alle Angaben sind ohne Gewähr, Anspruch auf Ersatz besteht nicht, distanziere mich von jeglichem Bösen, was mein Code anstellen könnte, kann, tut, getan hat und tun wird.
    Ebenso sind Rechtschreibfehler beabsichtigt und können bei Auffinden behalten werden.

  • #2
    Re: Downloadmanager

    Original geschrieben von Pool
    was mein problem ist, wie ich den direkten download verhinder.
    da bräuchte ich bitte einen lösungsansatz.
    du läßt den Link zum Download über eine php-Datei laufen, prüfst deine Bedingung, wenn alles OK dann Datei zum d/l senden. Das Thema ist alt, such mal im Forum.

    Kommentar


    • #3
      anhand der klicks auf einen download und dessen größe kannst du aber nicht den traffic ermitteln. das ist dir hoffentlich klar
      Sunshine CMS
      BannerAdManagement
      Borlabs - because we make IT easier
      Formulargenerator [color=red]Neu![/color]
      Herkunftsstatistik [color=red]Neu![/color]

      Kommentar


      • #4
        Re: Re: Downloadmanager

        Original geschrieben von asp2php
        du läßt den Link zum Download über eine php-Datei laufen, prüfst deine Bedingung, wenn alles OK dann Datei zum d/l senden. Das Thema ist alt, such mal im Forum.
        Eine spannende Idee ... an dieser Stelle möchte ich nur zwei Stichworte ansprechen: Timeout und Arbeitsspeicher

        fpassthru / readfile führt nicht immer zum Erfolg. Schon gar nicht bei 250 MB.
        Eventuelle Tippfehler bei PHP-Beispielen können durchaus vorkommen, aber es geht um die grundsätzliche Möglichkeit der Anwendung.

        Es war einmal ein Benutzer, der hatte ein Problem mit ... PHP (http://de3.php.net/manual/de/) MySQL (http://dev.mysql.com/doc/mysql/de/) HTML (http://www.selfhtml.org/)

        Wer suchet, der findet: http://www.php-resource.de/forum/search.php
        Immer noch nichts? Dann frag!


        Mit freundlichen Grüßen,
        @4u

        Kommentar


        • #5
          @a4u: deine sig ist VIEL GRÖSSER als dein beitrag
          Sunshine CMS
          BannerAdManagement
          Borlabs - because we make IT easier
          Formulargenerator [color=red]Neu![/color]
          Herkunftsstatistik [color=red]Neu![/color]

          Kommentar


          • #6
            Original geschrieben von Benny-one
            @a4u: deine sig ist VIEL GRÖSSER als dein beitrag
            Ist auch schon alt ...

            Zurück zum Thema:
            Ich würde vorschlagen:
            -) Die Funktion "symlink" zu nutzen
            http://de3.php.net/manual/de/function.symlink.php

            Voraussetzung: Ursprüngliche Dateien sind außerhalb des erreichbaren Webspaces. OS ist Linux oder unterstützt symlink ().

            Hintergrund: Es wird in einem Download-Verzeichnis eine nutzergebundene Datei generiert, welche mit der eigentlichen Zieldatei verknüpft wurde.

            Vorteil: Kein Kopieren, keine unnötige Systembelastung durch aktive PHP-Prozesse.

            Nachteil: Eigentlich höchstens, dass der symlink theoretisch mehrfach genutzt werden kann.

            -) Bevor der symlink bereitgestellt wird, mittels filesize den Download zu berrechnen.

            Vorteil: Einfachste zu implementierbare Berechnungsgrundlage für Downloadgrößen

            Nachteil: Abgebrochene Downloads werden komplett berechnet.

            -) Und auf zeitlicher Basis nach 15 Minuten die Symlinks wieder zu löschen

            Voraussetzung: Einsatz von Cron-Jobs möglich (oder regelmäßiger Scan des Doenload-Verzeichnisses beim Aufruf des Scripts)
            Zuletzt geändert von a4u; 22.12.2004, 17:21.
            Eventuelle Tippfehler bei PHP-Beispielen können durchaus vorkommen, aber es geht um die grundsätzliche Möglichkeit der Anwendung.

            Es war einmal ein Benutzer, der hatte ein Problem mit ... PHP (http://de3.php.net/manual/de/) MySQL (http://dev.mysql.com/doc/mysql/de/) HTML (http://www.selfhtml.org/)

            Wer suchet, der findet: http://www.php-resource.de/forum/search.php
            Immer noch nichts? Dann frag!


            Mit freundlichen Grüßen,
            @4u

            Kommentar


            • #7
              Re: Re: Re: Downloadmanager

              Original geschrieben von a4u
              Eine spannende Idee ... an dieser Stelle möchte ich nur zwei Stichworte ansprechen: Timeout und Arbeitsspeicher

              fpassthru / readfile führt nicht immer zum Erfolg. Schon gar nicht bei 250 MB.
              ich kann dich nicht ganz verstehen.
              wenn du so einen Link sieht:
              Code:
              <a href="download.php?id=1234" ...>...</a>
              was stellt du dir denn als Progger vor?

              Kommentar


              • #8
                Original geschrieben von a4u
                -) Bevor der symlink bereitgestellt wird, mittels filesize den Download zu berrechnen.

                Vorteil: Einfachste zu implementierbare Berechnungsgrundlage für Downloadgrößen

                Nachteil: Abgebrochene Downloads werden komplett berechnet.
                das is sogesehn zwar ein nachteil, ABER: kommt meinem traffic zu gute.


                Original geschrieben von a4u
                -) Und auf zeitlicher Basis nach 15 Minuten die Symlinks wieder zu löschen

                Voraussetzung: Einsatz von Cron-Jobs möglich (oder regelmäßiger Scan des Doenload-Verzeichnisses beim Aufruf des Scripts)
                da ich keine cronjobs machen kann nehm ich den scan beim aufrufen..

                wer andre lösungsansätze hat, kann diese gerne posten.
                ich nehme vorerst 4us vorschlag an.
                danke auch an die anderen.
                Alle Angaben sind ohne Gewähr, Anspruch auf Ersatz besteht nicht, distanziere mich von jeglichem Bösen, was mein Code anstellen könnte, kann, tut, getan hat und tun wird.
                Ebenso sind Rechtschreibfehler beabsichtigt und können bei Auffinden behalten werden.

                Kommentar


                • #9
                  Re: Re: Re: Re: Downloadmanager

                  Original geschrieben von asp2php
                  ich kann dich nicht ganz verstehen.
                  wenn du so einen Link sieht:
                  Code:
                  <a href="download.php?id=1234" ...>...</a>
                  was stellt du dir denn als Progger vor?
                  Das man die beste Lösung gewählt hat und auf IP-Basis dem Nutzer dann den Zugriff auf eine Datei in einem geschützten Verzeichnis per Location + HTTP-Responseüber eine bestimmte Zeit ermöglicht.

                  Es ist schon richtig, dass man durchaus so die Sache lösen kann - aber es ist bei großen Dateien eher ein großer Fehler.

                  Wenn schon, denn schon:
                  Code:
                  while(!feof($fp)) {
                         $buf = fread($fp, 4096);
                         echo $buf;
                         $bytesSent+=strlen($buf);    /* We know how many bytes were sent to the user */
                     }
                  (Quelle: http://de3.php.net/manual/de/function.fpassthru.php - 4. Kommentar von oben)
                  Eventuelle Tippfehler bei PHP-Beispielen können durchaus vorkommen, aber es geht um die grundsätzliche Möglichkeit der Anwendung.

                  Es war einmal ein Benutzer, der hatte ein Problem mit ... PHP (http://de3.php.net/manual/de/) MySQL (http://dev.mysql.com/doc/mysql/de/) HTML (http://www.selfhtml.org/)

                  Wer suchet, der findet: http://www.php-resource.de/forum/search.php
                  Immer noch nichts? Dann frag!


                  Mit freundlichen Grüßen,
                  @4u

                  Kommentar

                  Lädt...
                  X