Downlods mit Php Steuern und zählen

  • geschlossen

  • TheAwak3r
  • 1413 Aufrufe 11 Antworten

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Downlods mit Php Steuern und zählen

    So Ich habe folgendes problem mal wiederr ^^

    Ich habe für die Schule ein Script geschrieben zum Archivieren von Mitschriften aus der Schule. Diese Daten können auch gedownloadet werden.

    Damit ihr euch von dem Teil ein Bild machen könnte ist hier mal ein Bild:



    Um daten hochzuladen geht man in einen eingeloggten bereich und gibt dort die informationen der datei sowie die datei an.
    Diese wird hochgeladen und automatisch werden alle relevanten daten in eine mysql datenbank gegeben.
    Soweit so gut...

    Wenn man nun einen Kurs ausgewählt hat werden alle Einträge in der genannten Datenbank ausgeben.

    Für jeden Datei wird so eine kleine tabelle erstellt mit einem direkten Download link zur datei um diese zu sagen ... -.-

    Ich möcht gerne das die downloads gezählt werden. doch da die datein direkt verlinkt sind weiß ich nicht wie ich das umsettzten soll...


    Das Problem ist das weiterhin alles automatisch sein müsste, also das beim hochladebn dan automatisch ein download link generiert wird.


    Ich habe da an etwas gedacht wie eine download php, die zum einen den download startet, und zum andere in der datenbank bei der entsprechenden datei den counter ein hochsetzt.


    Mein Problem ist wiegesagt eigentlich nur wie kann ich downloads mit einer php datei steuern, wo der download link vorhersebar ist das wen man eine neue datei hochläd auch der link gleich automatisch eingetragen wereden kann.


    warscheinlich versteht wieder keiner mein problem so wie ich mich ausgedrückt habe.


    Aber ich hoffe mal auf broken sword :P


    hoffe mir kann wer helfen.

    gruß awaker
  • Hmmm danke aber das würde nicht gehen.. alleine schon weil das kein server ist den ich habe sondern webspace..


    Ich würde das wiegesagt auch gerne mit php und meiner datenbank machen..

    Wiegesagt ich habe mirdas so vorgestellt, das sagen wir mal ich eine download php habe. jeden datei die man downloaden kann hat eine id und wenn ich dann beispielsweise download.php/?id=xx eingeben wird die ensprechende datei gedownloadet und der counter wert bei der datei in der datenbank erhööht.

    Und die id könnte ja bei jederdatei die ich neu hochlade um 1 steigen dann würde sie der id der datein in der datenbnak gleichen und man könnte wieder automatisch so ganz einfach den download link generieren lassen.. nur weiß ich wiegesagt nicht wie ich das umsetzten kann im moment...
  • Ja anschauen werde ich es mir mal danke für den link... trotzdem würde ich mich weiterhin freuen wenn jemand mit bei der möglichkeit hieflt das so umzusetzten wie ich das oben geschrieben habe...

    gruß awaker
  • Hi,
    also ich poste hier mal, wie man das machen kann...
    Als erstes am Besten download.php?file=dateiname

    Dann vielleicht so hier..

    PHP-Quellcode

    1. $fname = "downloads/".$_REQUEST['file'].".doc";
    2. if(file_exists($fname)) {
    3. $db->query(update('file',1));
    4. header("Pragma: public");
    5. header("Expires: 0");
    6. header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
    7. header("Cache-Control: private",false);
    8. header("Content-Type: ".filetype($fname);
    9. header("Content-Disposition: attachment; filename=\"".$_REQUEST['file'].".doc\";");
    10. header("Content-Transfer-Encoding: binary");
    11. header("Content-Length: ".filesize($fname));
    12. readfile($fname);
    13. exit;
    14. }
    Alles anzeigen


    Musst halt schauen, wie du das mit den Dateinamen machst.
    Ist nur ein Beispiel.

    Gruß
    Broken Sword
    Auf dem Abstellgleis sah man ihn liegen,
    Auf dem Abstellgleis zwischen Schwelle und Gestein,
    Auf dem Abstellgleis im strömenden Regen,
    Auf dem Abstellgleis allein.
  • Hmm danke genau das habe ich gesucht.. problem ist nun nur das es sich bei meinen daten nicht ausschließlich um .doc datein handelt.. wie kann ich das denn variabler machen das es beispielsweise egal ist wie die endung ist oder das ich mehere angeben kann?
  • Hmm ja wenn ich nun das so ändere

    PHP-Quellcode

    1. $fname = "../daten/".$_REQUEST['file'];


    und am ende des download.php?fildexxxxx die endung mit dran habe geht es nur dann will er alle datein wegen

    PHP-Quellcode

    1. header("Content-Disposition: attachment; filename=\"".$_REQUEST['file'].".rtf";");

    als rtf abspeichern, wobei dann manchma .doc.rft rauskommt ^^
    wenn du mir noch sagst wie ich das ändern kann wäre ich wunschlos glücklich :)


    EDIT: Hat sich schon erledigt.... Habs selber hinbekommen ^^

    So vielen Dank mal wieder an Broken Sword, aber natürlich auch an DOcean. :)

    Kann dann hier zugemacht werden und diesmal änder ich sogar das präfix damit ich nicht wieder verwarnt werden -.-


    Vielen dank nochmal für die hilfe