Skip to content

charly23/Directory-Compressor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 

Repository files navigation

Directory-Compressor

function folderToZip($folder, &$zipFile, $subfolder = null) { if ($zipFile == null) { // no resource given, exit return false; } // we check if $folder has a slash at its end, if not, we append one $folder .= end(str_split($folder)) == "/" ? "" : "/"; $subfolder .= end(str_split($subfolder)) == "/" ? "" : "/";

if( $folder == true ){

        // we start by going through all files in $folder
        $handle = opendir($folder);
        while ($f = readdir($handle)) {
            if ($f != "." && $f != "..") {
                if (is_file($folder . $f)) {

                    if ($subfolder != null):
                        $zipFile->addFile($folder . $f, $subfolder . $f);
                    else:
                        $zipFile->addFile($folder . $f);
                    endif;
                    
                } elseif (is_dir($folder . $f)) {
                    $zipFile->addEmptyDir($f);
                    folderToZip($folder . $f, $zipFile, $f);
                }
            }
        }
        
        return mktime() . ' - ' . ' Comparessed';
  } 

}

$z = new ZipArchive(); $z->open( mktime().'.zip', ZIPARCHIVE::CREATE); echo folderToZip( 'dir/test', $z); $z->close();

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors