PHP İle Dosya Sıkıştırma İşlemi

tarafından
7710
PHP İle Dosya Sıkıştırma İşlemi

Zaman zaman php ile dosya indirme işleri yapıyoruz ya birden çok dosya olursa ne yapacağız. Sıkıştıracağız :)))

Nasılmı çok basit bknz : https://php.net/manual/tr/book.zip.php

    
        // Klasör yolu | Burda storage sabiti benım dosyaları sakladıgım klasorun yolunu tanımlıyor. 
        $dirpath = storage.'/'.$klasor;
        
        // Dizini açalım içindeki dosyaları okuyup sıkıştıraacağız.
        $dizin = opendir($dirpath);
        
        // Zip sınıfını çağıralım
        $zip = new ZipArchive;
        
        // Oluşturacağımız zip klasorunun yolu 
        $zip_yolu =$filepath.'/'. $klasor.'.zip';
        
            
        if(!file_exists($zip_yolu)) { // aynı ısımlı zip dosyası var mı   
        
            if ($zip->open($zip_yolu,  ZipArchive::CREATE) === TRUE) {
                $i=0;
                while($dosya = readdir($dizin)) { // klasordeki dosyaları döndürelim

                    if( $dosya != '.' && $dosya !='..'){

                        $zip->addFile($filepath.'/'.$dosya, $i.'-'.$dosya);  // addFile -> ile zip arşivine dosyaları ekleyelim 
                        $i=$i+1; // Bu $i değişkeninin dosyları numaralandırmak için koydum isterseniz kaldırabilirsiinz.
                    }
                }

                $zip->setArchiveComment('Bu zip dosyası yorum ekleyebilirsiniz.');
                $zip->close(); // işlemler bitti zip dosyasını oluşturalım.

            }
        }else{
            echo  ' böyle bir zip dosyası zaten var ' ;
        }
    
        
        echo 'Zip dosyası şurda : '.$zip_yolu;
    

Kod içerisinde yorumlara dikkat ederek zipleme işlerini basitçe halledebilirsiniz. Kolay gelsin.