thomas: Mehrere Downloads erzwingen

Hallo

Ich habe ein Formular wo mehrere Checkboxen angeklickt werden können. Jede Checkbox soll ein entsprechendes PDF downloaden.

Ich habe nun folgenden Code geschrieben:

  
if($verkauf == '1') { include_once('download.verkauf.php'); }  
if($beschrieb == '1') { include_once('download.beschrieb.php');}  
if($budget == 1) { include_once('download.budget.php'); }  
if($doku == 1) { include_once('download.doku.php'); }  
if($grund == 1) { include_once('download.grund.php'); }  

die einzelnen Download-Files beinhalten den entsprechenden PDF-Header welcher den Download erzwingt:

  
header("Content-Type: application/pdf");  
header("Content-Disposition: attachment; filename=\"MyPlace_Verkaufspreise.pdf\"");  
$fp = fopen("../pdf/MyPlace_Verkaufspreise.pdf","rb");  
if ($fp) {  
while (!feof($fp)) {  
$buffer = fgets($fp, 128000);  
echo $buffer;  
}  
fclose($fp);  
}  
exit();  
  

Mein Problem ist nun, dass wenn mehr als eine Checkbox angeklickt sind, nur jeweils das erste PDF geladen wird. Wie kann ich es machen, das mehrere hintereinander geladen werden?

Vielen Dank für eure Hilfe

Gruss
Thomas

  1. So geht das nicht. Ein Request kann nur eine Antwort haben, sprich einen Download.
    Wie wärs wenn man statt der Checkbox einfach auf einen Link klickt und dann den Download kriegt?

    1. So geht das nicht. Ein Request kann nur eine Antwort haben, sprich einen Download.
      Wie wärs wenn man statt der Checkbox einfach auf einen Link klickt und dann den Download kriegt?

      Genau, oder per Javascript pro Checkbox ein neues Fenster mit Download öffnen.

      Gruß
      neuer
      T-Rex (ohne Download)

      1. Genau, oder per Javascript pro Checkbox ein neues Fenster mit Download öffnen.

        Find ich eher eine unsaubere Lösung, da halt ein Speicherdialog pro Datei kommt. Stell dir vor das sind 20 Datein und man will alle herunter laden. 20 Dialogboxen. Desweiteren - je nach dem was für Dateien - kann man mit 'nem Archiv auch noch eine gute Kompression erzeugen. EIN Dialog und schnelleres Laden.

        MfG
        bubble

    2. So geht das nicht. Ein Request kann nur eine Antwort haben, sprich einen Download.
      Wie wärs wenn man statt der Checkbox einfach auf einen Link klickt und dann den Download kriegt?

      Oder serverseitig ein Archiv zusammenstellen mit den gewünschten Dateien und ausliefern.

    3. Hi,

      [Frage] Wie wärs wenn man statt der Checkbox einfach auf einen Link klickt und dann den Download kriegt?

      Antwort: „…zu einfach.“

      MfG ChrisB

      --
      RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
  2. Ein Fehler vorweg, du gibst header aus nachdem du Inhalt sendest, das sollte eigentlich einen Fehler ausspucken.

    Desweiteren ist es mir unbekannt, dass man mehrere Dateien über eine HTTP Anfrage senden kann (kenn ich auch von keiner Webseite)

    Wie wäre es stattdessen, alles in ein Archiv zu packen und dann zu senden?
    (Selsbt wenn es möglich ist, mehrere Dateien zuschicken und den Download zu erzwingen, würde man ja für jede Datei einen Speicher-Dialog bekommen, meiner Meinung nach nervig, das wird durch das senden eines Archives auch gelöst)
    Dafür gibs verschiedene Bibliotheken.

    MfG
    bubble