save( '../backups/' . $backupfile . '.sql' ); $zipTo = '../backups/' . $backupfile . '.zip'; $zip = new \ZipArchive(); $zip -> open( $zipTo, \ZipArchive::CREATE ); $folder = '../'; $iter = new \RecursiveIteratorIterator( new \RecursiveDirectoryIterator( $folder, \RecursiveDirectoryIterator::SKIP_DOTS ), \RecursiveIteratorIterator::SELF_FIRST, \RecursiveIteratorIterator::CATCH_GET_CHILD ); foreach ( $iter as $file ) { if ( !strstr( $file, '../backups' ) and !strstr( $file, ' ../temp' ) and !strstr( $file, '../updates' ) ) { if ( is_dir( $file ) ) { $zip -> addEmptyDir( str_replace( $folder, '', $file . '/' ) ); } else if ( is_file( $file ) ) { $zip -> addFromString( str_replace( $folder, '', $file ), file_get_contents( $file ) ); } } } $zip -> close(); return true; } public static function backup_delete( $file ) { if ( file_exists( '../backups/' . $file ) ) unlink( '../backups/' . $file ); return true; } }