Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Mit PHP die aktuellen Zugriffe auf Datei feststellen inkl IP

Einklappen

Neue Werbung 2019

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

  • [Erledigt] Mit PHP die aktuellen Zugriffe auf Datei feststellen inkl IP

    Hallo,

    ich habe ein eher größeres Problem bei einem Script.

    Ich programmiere momentan einen Download-Manager (nicht Programm mit C++ & co sondern mit PHP, zum Downloaden von Dateien für User :wink: ).

    Nun mein Problem:
    Ich möchte die Anzahl aktueller Zugriffe auf die Datei (z.B. test.exe) auslesen und die IP aller, die gerade diese Datei "bescheinigen" bzw. Downloaden.

    Ich dachte jetzt schon, dass ich die Apache-Log auslese.

    Die ist ja folgendermassen:

    Code:
    hostname - - [02/Mar/1997:05:03:49 -0500] "GET /xxx/test.exe HTTP/1.0" 200 1788
    also müsste ich die Log erst mal nach allen durchsuchen, die /xxx/test.exe nutzen und die größe der datei (hinterste zahl) kleiner ist, als die grösse von test.exe), dann müsste ich das cutten.

    erst hostname, dann die zusätzlichen sachen ( - ), die zeit, das GET, ob 200 oder fehler passiert ist und die anzahl bytes, die der user empfangen hat.

    Dann müsste ich schauen, ob keine Fehler passiert sind (200 im obigen beispiel, ansonnsten würde ja z.B. 404 erscheienn wenn es die Datei nicht geben würde), und danach, ob der user alle daten erhalten hat. Und das ganze etwa eine stunde zurück. (viele haben ja noch Modem und können noch nicht sehr shcnell downloaden).

    Oder wie müsste ich da smachen? udn wie lese ich die access_log aus?

    Infos zum System:
    SuSE Linux 8.2
    Apache 1.3.27
    PHP 5.0.3
    PHPInfo


  • #2
    Die Downloads zählen? Ich würde es so machen:
    >>mod_rewrite [ deine phpinfo sagt wäre vorhanden]
    Alle Anfragen auf deinen "Counter" umleiten, zählen, und an die eigentliche Datei weiterleiten.
    Diese Erweiterung ist EXPERIMENTELL.
    [...]
    Seien Sie gewarnt und verwenden Sie diese Erweiterung auf eigenes Risiko..

    Kommentar


    • #3
      Zitat von andy
      Die Downloads zählen? Ich würde es so machen:
      >>mod_rewrite [ deine phpinfo sagt wäre vorhanden]
      Alle Anfragen auf deinen "Counter" umleiten, zählen, und an die eigentliche Datei weiterleiten.
      ich will nicht einen counter haben, ich will wissen, wieviele leute momentan die datei downloaden, und welche ip sie haben. die anzahl gesamt-dl-leute ist was anderes.

      Kommentar


      • #4
        von der art her ein script, dass die datei weitergibt und nen eintrag in eine datenbank erzeugt, dir sollte halt klar sein, jenachdem wie genau du das allesm achst, braucht das massig unnötige performance (wenn du das alle xx sekunden geupdatet haben willst) ein script benutzen.

        anpassbar wäre sowas hier:

        http://www.philbrodeur.com/tutorials/throttle/

        und das geschwindigkeitszeug weglassen und dafür dann halt ein query machen, es in die db eintragen und z.b. alle XX durchläufe der schleife z.b. den eintrag aktualisieren oder sowas.
        oder halt wenn es nur einmalig ist, dann ausserhalb und vor der schleife.

        mfg
        robo47
        robo47.net - Blog, Codeschnipsel und mehr
        | Caching-Klassen und Opcode Caches in php | Robo47 Components - PHP Library extending Zend Framework

        Kommentar


        • #5
          hey super. herzlichen dank. werde ich mir gleich mal ansehen.

          will sowas wie bei rapidshare.de machen -> also nur 1 gleichzeitiger download. und dl beschränkung

          danke viel mal

          Kommentar

          Lädt...
          X