PHP - Download über Javascript



  • Hallo,

    ich würde gerne über javascript einen Download starten lass. Der Aufruf der PHP-Datei über javascript kapppt schonmal.
    Allerdings wird der Download mit Header() und readfile() in der über javascript aufgerufenen Datei nicht gestartet, sondern nur wie mit "echo" ausgegeben.
    Ich kann dann zwar den Inhalt der Datei in einer javascript-Variable in einem alert() ausgeben, aber wie weise ich den Browser jetzt an, dass er den Inhalt der Variable auf der Festplatte speichern soll?

    Ich hab es auch schon mit location.href="Dateiname"; versucht, das klappt zwar auch, aber dann lässt sich z.B. der Dateiname beim Download nicht festlegen.



  • Suchst du das hier?

    header("Content-Disposition: attachment; filename=meine_datei.dat");
    


  • Ja, nur leider wird der Download danach mit readfile() nicht gestartet. gibt es dort eine Funktion, die den Download noch extra startet?



  • Wie äußert sich das?
    "Datei speichern"-Dialog (je nach Browser) kommt und er lädt sich tot?

    Also du hast ne html-seite die irgendwie sowas enthält:

    <a href="mein_download.php">Hier klicken um was herunterzuladen</a>
    

    und in der mein_download.php sowas?

    <?php
       header("Content-Disposition: attachment; filename=meine_datei.dat");
       header("Content-Type: application/binary");
    
       $dateiname="diesedateisollausgeliefertwerden.zip";   
    
       // Content-Length setzen, damit Browser Fortschritt anzeigen kann:
       header('Content-Length: ' . filesize($dateiname));
    
       // Datei ausgeben:
       readfile($dateiname);
    ?>
    

Anmelden zum Antworten