InternInhaltsverzeichnisGlossarBausteineLinklisteTutorialsKommentare
Thema: PHP - Zip-Archiv erstellen und Datei herunterladen

👤 amsel schrieb am Donnerstag, den 23 September 2021 zum Thema: PHP - Zip-Archiv erstellen und Datei herunterladen #11
Guten Abend Werner,
jap so ist es richtig über die foreach Schleife bekommt er aus der DB alle Bilder vom User.
Am Ende darf der User alle Bilder als Zip runder laden. So funzt es immo. Nur ohne den exit; am ende

if ((file_exists($zip_name))) {
echo '<p><a href="' . $zip_name . '">' . $zip_name . '</a></p>';
}

kamm mehrfach das zipfile zum anklicken. Jezt durch das exit kommt nur noch einmal das zipfile.

mfg amsel
👤 Werner schrieb am Samstag, den 25 September 2021 zum Thema: PHP - Zip-Archiv erstellen und Datei herunterladen #12
Hier mein letzter Lösungsvorschlag, ohne das exit verwenden zu müssen:

Diesen Beitrag vollständig anzeigen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
<?php
$output 
'';
if(isset(
$_GET['action']) AND $_GET['action'] == 'zip_complete'){
    
$result $db -> queryObjectArray('img_host', array('*'), "WHERE user = '".$CURUSER['id']."' ");
    if (
is_array($result) || is_object($result)){ 
        foreach(
$result as $data){
            if(
$data['gif'] == 'yes'){$endu '.gif';}else{$endu '.jpg';}

            
## Zip-Archiv erstellen und Datei herunterladen

            ## Beachten Sie, das hiermit keine Verzeichnisse gelesen
            ## werden können die ihrerseits Verzeichnisse enthalten!
            
$verzeichnis = ($GLOBALS["IMGHOST_PIC_DIR"]);
            
$zip_name $GLOBALS["IMGHOST_PIC_ZIP"]."/".$CURUSER['id']."-image.zip";

            
## Verzeichnis auslesen
            
$dateien strval(("/pic-".$data['name'].$endu));
            
## Neue Instanz der ZipArchive Klasse erzeugen
            
$zip = new ZipArchive;

            
## Zip-Archiv erstellen
            
$status $zip->open($zip_nameZipArchive::CREATE);

            if (
$status === TRUE) {
                
## Dateien ins Zip-Archiv einfügen
                
$zip->addFile($verzeichnis $dateien$dateien); 
                
## Zip-Archiv schließen
                
$zip->close();
            }
                
##test ende 
        
}
    }
        if (
file_exists($zip_name)) { 
                
$output '<p><a href="' $zip_name '">' $zip_name '</a></p>'
        }
}
?>
<!DOCTYPE html>
<html lang="de">
 <head>
  <meta charset="UTF-8">
  <title>Beschriftung</title>
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
 </head>
<body>

<?=$output;?>

</body>
</html>