Ankündigung

Einklappen
Keine Ankündigung bisher.

bzip2 komprimierung

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • bzip2 komprimierung

    hallo

    da mein neuer server kein normales zip unterstützt, sondern nur bzip2 installiert hat. Muss ich meine ganzen skripts jetzt auf bzip umschreiben.
    Hab mir zwar schon ein beispielskripts durgesehen(PHP: Bzip2 - Manual), aber versteh noch nicht ganz wie ich MEHRERE dateien auf einmal komprimieren soll.
    Das hier muss ich umschreiben:

    Zip-Datei LESEN:

    PHP-Code:
                    if($dateityp=='zip')
                    {     
    $zip zip_open("dings");
                        while(
    $zip_entry zip_read($zip)) 
                        {    
    $entry zip_entry_open($zip,$zip_entry);
                            
    $filename zip_entry_name($zip_entry);
                            
    $target_dir $uploaddir;
                            
    $filesize zip_entry_filesize($zip_entry);
                            if (
    is_dir($target_dir) || mkdir($target_dir)) 
                            {    if (
    $filesize 0
                                {    
    $contents zip_entry_read($zip_entry$filesize);
                                    
    $newdateiname=add_picture_to_galerie($_SESSION['gid']);
                                    
    file_put_contents($uploaddir.$newdateiname,$contents);
                                    
    resize($newdateiname,$_SESSION['gid']);
                                }
                            }
                        }
                    } 
    ZIP-Datei Schreiben:

    PHP-Code:
    function get_zip_gallery($gid)
    {    
    // neues Zip Objekt erstellen
        
    $zipfile = new zipfile();
        
        
    //Galerienamen holen
        
    $sql="SELECT Name FROM bildergalerie WHERE BildergalerieID='$gid'";
        
    $result=mysql_query($sql);
        
    $row=mysql_fetch_object($result);
        
    $galeriename=$row->Name;
        
        
    //Dateinamen der Bilder zur Bildergalerie holen
        
    $sql="SELECT Dateiname FROM bilder WHERE BildergalerieID='$gid'";
        
    $result=mysql_query($sql);
        while(
    $row=mysql_fetch_object($result))
        {    
    //Dateinamen bereinigen
            
    $filename=$row->Dateiname;
            
    $clearfilename substr($filenamestrrpos ($filename"/") + 1);
             
             
    // Datei einlesen
             
    $handle fopen ("../../bildergalerie/".$gid."/normale/".$filename"r");
            
    $content fread ($handlefilesize ("../../bildergalerie/".$gid."/normale/".$filename));
            
    fclose ($handle);
            
            
    // Datei in Zipfile speichern
            
    $zipfile->addFile($content$clearfilenamefilemtime("../../bildergalerie/".$gid."/normale/".$filename));
        
        }
            
    header("HTTP/1.1 200 OK");
            
    header("Content-Type: application/force-download");
            
    header('Content-Disposition: attachment; filename="'.$galeriename.'.zip"');
            
    header("Content-Transfer-Encoding: binary");
        
    // Zip File senden
        
    return $zipfile->file(); 

    kennt sich da jemand aus?

    grüße, philipp

  • #2
    BZ2 ist eine Komprimierung und kein Archiv wie ZIP. Um mehrere Dateien mit BZIP (genauso wie bei GZIP) zu komprimieren musst du die Daten vorher in ein TAR Archiv einpacken.

    PEAR :: Package :: Archive_Tar

    Kommentar

    Lädt...
    X