Esempio n. 1
0
<?php

require 'inc/util.php';
require 'inc/zipcreate.cls.lib.php';
require 'inc/zipcreate.cls.php';
# get the directory to zip
$dir = isset($_GET['d']) ? clean_path(stripslashes($_GET['d'])) : '';
if (strlen($dir) > 0 && is_dir($dir)) {
    date_default_timezone_set('America/Los_Angeles');
    if (!ends_with($dir, '/')) {
        $dir .= '/';
    }
    # create new zip stream object
    $zip = new ZipCreate('gzip', true, basename($dir) . '.zip');
    # add files
    $files = dir_get_files($dir);
    $dir_len = strlen($dir);
    foreach ($files as $file) {
        # get file data
        $data = file_get_contents($file);
        # add file to archive
        $zip->add_file($data, substr($file, $dir_len), filemtime($file));
    }
    # finish archive
    $zipcontent = $zip->finish_stream();
}
Esempio n. 2
0
function dir_get_mtime($dir, $recursive = true)
{
    $files = dir_get_files($dir, $recursive);
    $highest_mtime = 0;
    foreach ($files as $file) {
        $file_mtime = filemtime($file);
        if ($file_mtime > $highest_mtime) {
            $highest_mtime = $file_mtime;
        }
    }
    return $highest_mtime;
}