Sprint
Erfahrenes Mitglied
Hallo zusammen,
in dem aktuellen Projekt sollen einige PDF Dateien zu einem ZIP File zusammengefaßt und automatisch runtergeladen werden. Über ein Ajax Script werden die PDF erzeugt und anschließend wird über einen weiteren Ajax Aufruf das ZIP Archiv erzeugt. Es funktioniert soweit auch alles, nur beim Download versagt das Script. Es passiert nichts. Nicht einmal in der Logdatei ist ein Fehler drin.
Natürlich könnte ich nach der Erstellung einen Link anbieten, es soll aber anschließend das Verzeichnis wieder leergeräumt werden. Darum wäre es mir am liebsten, die Datei würde nach Erstellung automatisch an den Browser geschickt.
Hat da jemand eine Idee, warum der Download nicht gestartet wird?
Danke schon mal im Voraus,
Sprint
in dem aktuellen Projekt sollen einige PDF Dateien zu einem ZIP File zusammengefaßt und automatisch runtergeladen werden. Über ein Ajax Script werden die PDF erzeugt und anschließend wird über einen weiteren Ajax Aufruf das ZIP Archiv erzeugt. Es funktioniert soweit auch alles, nur beim Download versagt das Script. Es passiert nichts. Nicht einmal in der Logdatei ist ein Fehler drin.
Natürlich könnte ich nach der Erstellung einen Link anbieten, es soll aber anschließend das Verzeichnis wieder leergeräumt werden. Darum wäre es mir am liebsten, die Datei würde nach Erstellung automatisch an den Browser geschickt.
PHP:
$verzeichnis = "zip/";
$zip_name = substr($_SESSION['usernr'],0,5).'.zip';
$dummy = glob('zip/'.substr($_SESSION['usernr'],0,5).'*.pdf');
foreach ($dummy as $dum)
$dateien[] = end(explode('/', $dum));
$zip = new ZipArchive;
$status = $zip->open($verzeichnis.$zip_name, ZipArchive::CREATE);
if ($status) {
foreach ($dateien as $datei) {
$zip->addFile($verzeichnis.$datei);
}
$zip->close();
if (file_exists($verzeichnis.$zip_name)) {
$size = filesize($verzeichnis.$zip_name);
$dateiname = basename($verzeichnis.$zip_name);
header('Content-Type: application/zip');
header('Content-Disposition: attachment; filename='.$dateiname);
header("Content-Length: $size");
readfile($verzeichnis.$zip_name);
}
}
Hat da jemand eine Idee, warum der Download nicht gestartet wird?
Danke schon mal im Voraus,
Sprint