InternInhaltsverzeichnisGlossarBausteineLinklisteTutorialsKommentare

Thema: PHP - Zip-Archiv erstellen und Datei herunterladen Artikel anzeigen

amsel schrieb am Donnerstag, den 23 September 2021 #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 #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>
Jan schrieb am Freitag, den 10 Dezember 2021 #13
Ist das dein Skript ohne Quellenangabe?
nof-tutorials.com/PHP-ZI[…]orial.html
Werner schrieb am Freitag, den 10 Dezember 2021 #14
Ja, das ist mein Skript von meiner alten Seite (webbausteine.de).
Tommy hat es nur für seine Seite kopiert.
Christian schrieb am Samstag, den 11 November 2023 #15
Kann man das ZIP auch noch mit einem Passwort schützen vor dem Download?
Werner schrieb am Sonntag, den 12 November 2023 #16
Das hier ist leider keine Wunschliste. Passwort setzen -> php.net/manual/de/zipa[…]ssword.php