1. #1

    Registriert seit
    18.06.2012
    Beiträge
    90
    Thanked 6 Times in 6 Posts

    Standard Seitenwechsel nach Download

    Guten Abend,

    auf meiner Website biete ich ein paar Dateien via PHP zum Download an.
    Ich würde gerne nach erfolgtem Download auf eine andere Webseite umleiten.

    Im Netz finde ich dazu leider nichts (oder ich suche falsch..)


    Die Dateien werden so übergeben:
    PHP-Code:
     if (isset($newfilename) && ($newfilename!="")) {
      
    header('Content-type: application/octet-stream');
      
    header('Content-Disposition: attachment; filename="'.$f.'"');
      
    readfile($path.$newfilename);
      die();
     } 
    Der Aufruf erfolgt so:
    Code:
    <a href="?downloads&dl&c=01" class="more">Download</a>

    Vielen Dank für eure Hilfe
    MfG bluedra
    -

  2. #2

    Registriert seit
    18.03.2013
    Beiträge
    481
    Thanked 264 Times in 168 Posts

    Standard AW: Seitenwechsel nach Download

    Ohne es jetzt getestet zu haben, folgendes:

    PHP-Code:
    // Ersetze
    die();

    // durch
    header("Location: [HIER DEIN LINK]"); 
    Wenns nicht geht sag bescheid.
    Geändert von xOneDirectionx (21.07.2013 um 21:58 Uhr)



    [www.piratenpartei.de]
    "Krieg ist Frieden; Freiheit ist Sklaverei; Unwissenheit ist Stärke"

  3. #3

    Registriert seit
    18.06.2012
    Beiträge
    90
    Thanked 6 Times in 6 Posts

    Standard AW: Seitenwechsel nach Download

    Schon in 100 verschiedenen Varianten ausprobiert, funktioniert nicht.
    -

  4. #4

    Registriert seit
    18.03.2013
    Beiträge
    481
    Thanked 264 Times in 168 Posts

    Standard AW: Seitenwechsel nach Download

    PHP-Code:
    if (isset($newfilename) && ($newfilename!="")) {
      
    ob_start();
      
    header('Content-type: application/octet-stream');
      
    header('Content-Disposition: attachment; filename="'.$f.'"');
      
    header("location: [HIER DEINE SEITE]");
      
    ob_end_flush(); 

      
    readfile($path.$newfilename);
     } 
    Auch schon probiert?



    [www.piratenpartei.de]
    "Krieg ist Frieden; Freiheit ist Sklaverei; Unwissenheit ist Stärke"

  5. #5

    Registriert seit
    18.06.2012
    Beiträge
    90
    Thanked 6 Times in 6 Posts

    Standard AW: Seitenwechsel nach Download

    Das leitet mich zwar weiter, ein Download findet jedoch leider nicht statt :/
    -

  6. #6

    Registriert seit
    18.03.2013
    Beiträge
    481
    Thanked 264 Times in 168 Posts

    Standard AW: Seitenwechsel nach Download

    Ok, das war meine letzte Idee, das über den Header zu lösen.

    Versuch folgendes:
    1. Erstelle eine php Datei, die mit Hilfe von readfile das Downloaden der gewünschten Datei veranlasst. Dazu kannst Du den bereits von Dir verwendeten Code nehmen (allerdings ohne header('Location: …'))
    Ich nenne diese Datei hier download.php

    2. Erstelle eine zweite HTML/PHP-Datei, zu der Du nach dem Downloadstart weiterleiten wolltest. Ich nenne Sie verlinkung.html

    Technisch wird allerdings nicht zu dieser Seite weitergeleitet, sondern per JavaScript ein Link in dieser Datei angeklickt, der auf download.php verweist.

    Der Effekt ist jedoch der gleiche: Download startet, während eine Seite angezeigt wird.

    3. Um das machen zu können, brauchst Du folgendes JavaScript, das du zwischen <head></head> in verlinkung.html einfügen kannst:
    <script type="text/javascript">
    function clickElement(elementid){
    var e = document.getElementById(elementid);
    if (typeof e == 'object') {

    if(document.createEvent) {
    var evObj = document.createEvent('MouseEvents');
    evObj.initEvent('click',true,true);
    e.dispatchEvent(evObj);
    return false;
    }
    else if(document.createEventObject) {
    e.fireEvent('onclick');

    return false;
    }
    else {
    e.click();
    return false;
    }
    }
    }
    </script>


    4. Im <body> Bereich von verlinkung.html musst Du an passender Stelle den Link und einen weiteren JavaScript-Code einfügen:

    HTML-Code:

    Code:
    Falls der Download nicht automatisch startet, klicken Sie bitte hier:
    <a href="download.php" id="download">Hello this is the downloadfile</a>
    
    <script type="text/javascript">
    clickElement("download");
    </script>
    Wichtig dabei ist, dass das Argument von clickElement() mit der id des Link Tags übereinstimmt (hier "download") und dass der Link natürlich auch den richtigen Pfad zu download.php enthält.

    Dieses Prinzip lässt sich natürlich auf unterschiedliche Weise verfeinern. Ich bin mir allerdings auch nicht sicher, ob man nicht eine Weiche für den IE einbauen müsste. Das müsstest Du dann selbst checken. Falls ja dann google einfach nach "JavaScript click object" o.ä.
    Quelle:
    Mac-TV.de - Einzelnen Beitrag anzeigen - PHP Header readfile + location [wird nicht ausgeführt]

    Schaut auch recht vielversprechend aus.



    [www.piratenpartei.de]
    "Krieg ist Frieden; Freiheit ist Sklaverei; Unwissenheit ist Stärke"

  7. #7

    Registriert seit
    18.06.2012
    Beiträge
    90
    Thanked 6 Times in 6 Posts

    Standard AW: Seitenwechsel nach Download

    Verstehe nicht so recht wo ich nun was einbinden soll..
    Die Datei die den Download übergibt ist gleichzeitig die Datei, die den Aufruf zum Download bereit stellt, daher möchte ich auch die Weiterleitung (User klicken gerne mal öfter auf Download...)


    PHP-Code:
    if(isset($_GET['dl']) && $_SESSION['last_site'] = "?downloads&c=01"_download(); 
    Anderenfalls wird die gewünschte Seite ausgegeben.
    Nach erfolgtem Download soll bspw "?downloads&c=01&dlt" aufgerufen werden
    -

Ähnliche Themen

  1. Download: IM+
    Von soegal im Forum Android
    Antworten: 2
    Letzter Beitrag: 12.08.2013, 18:32
  2. Minecraft Download?
    Von User im Forum Minecraft
    Antworten: 1
    Letzter Beitrag: 10.04.2012, 11:26
  3. [Download] JappyBot v1
    Von iBlack im Forum Showroom
    Antworten: 18
    Letzter Beitrag: 09.03.2011, 20:11
Diese Seite nutzt Cookies, um das Nutzererlebnis zu verbessern. Klicken Sie hier, um das Cookie-Tracking zu deaktivieren.