function read_dir($dir, &$myFiles, &$myDirs, $fix_utf8, $exclude_directories, $sort_files_by_date)
{
    $size = 0;
    if (!file_exists($dir)) {
        return;
    }
    $dirhandle = opendir($dir);
    while (false !== ($file = readdir($dirhandle))) {
        if ($file != "." && $file != ".." && !in_array($file, $exclude_directories)) {
            $filepath = $dir . '/' . $file;
            if (is_dir($filepath)) {
                if ($fix_utf8 == "") {
                    array_push($myDirs, "" . urlencode(utf8_encode($file)) . "");
                } else {
                    array_push($myDirs, "" . urlencode(iconv($fix_utf8, "UTF-8", $file)) . "");
                }
            } else {
                if (check_view_extension($file)) {
                    set_error_handler("on_error_no_output");
                    $current_size = @filesize($dir . '/' . $file);
                    $file = $file . "**" . $current_size;
                    $size += $current_size;
                    if ($sort_files_by_date) {
                        $file = filemtime($filepath) . $file;
                    }
                    set_error_handler("on_error");
                    array_push($myFiles, urlencode(fix_encoding($file, $fix_utf8)));
                }
            }
        }
    }
    closedir($dirhandle);
    return $size;
}
Example #2
0
function read_dir($dir, &$myFiles, &$myDirs, $fix_utf8, $exclude_directories, $sort_files_by_date, $sort_directores_by_date)
{
    global $hide_hidden_files, $show_server_date_instead_size;
    $size = 0;
    if (!file_exists($dir)) {
        return;
    }
    $dirhandle = opendir($dir);
    while (false !== ($file = readdir($dirhandle))) {
        if ($file != "." && $file != ".." && !in_array($file, $exclude_directories) && !($hide_hidden_files && strpos($file, '.') === 0)) {
            $filepath = $dir . '/' . $file;
            if (is_dir($filepath)) {
                $dirname = fix_encoding($file, $fix_utf8);
                if ($sort_directores_by_date) {
                    $dirname = filemtime($filepath) . $dirname;
                }
                array_push($myDirs, urlencode($dirname));
            } else {
                if (check_view_extension($file)) {
                    set_error_handler("on_error_no_output");
                    $current_size = sprintf("%u", @filesize($dir . '/' . $file));
                    $size += $current_size;
                    if ($show_server_date_instead_size == 'true' || $sort_files_by_date) {
                        $fdate = filemtime($filepath);
                    }
                    if ($show_server_date_instead_size == 'true') {
                        $current_size = $fdate;
                    }
                    // size or date is added.
                    $file = $file . "**" . $current_size;
                    if ($sort_files_by_date) {
                        $file = $fdate . $file;
                    }
                    set_error_handler("on_error");
                    array_push($myFiles, urlencode(fix_encoding($file, $fix_utf8)));
                }
            }
        }
    }
    closedir($dirhandle);
    return $size;
}