Avatar billede lurup Ekspert
29. juni 2016 - 21:51 Der er 5 kommentarer og
1 løsning

Software til at finde ens filer

Jeg skal have rydder op på 2 store nas server og har brug for noget software der kan finde ens filer og jeg vælger hvilke der skal slettes.

Hvad findes der til det ???? gerne gratis
Avatar billede showsource Seniormester
29. juni 2016 - 22:11 #1
Du må selv putte checkbox og deleteknap på !

<?php

// CONFIG START _____________________________________________________

// array med dir og filer som evt. ikke skal vises
// "dir" er dir
// "file" er filer

$dont_show = array(
            "dir" => array("phpmyadmin", "hemmeligt_dir"),
            "file" => array(".htaccess", ".ht_pass")
                  );


// Harddisk-sti til roden af domain. IKKE en url og IKKE til dir som skal læses igennem
// Ved at bruge FULD HARDDISK-STI kan scriptet ligge i hvilket som helst underdir til domain
DEFINE("START_PATH", $_SERVER["DOCUMENT_ROOT"]);

// dir som skal læses igennem.
// Eksempler:
// "/" Læser fra rod af domain
// "/fildir", læser "fildir" igennem;
// "/fildir/subdir", læser "subdir" igennem;
DEFINE("START_DIR", "/faktura/");

// htmlkoden til billede af en mappe.
// Bruges ved hvert dir.
DEFINE("DIR_IMAGE", "<img src=\"/images/mappe.gif\" align=\"top\" border=\"0\">");

// Hvor meget indrykning pr. subdir der skal være?
DEFINE("INDRYKNING", 24);

// Target på link til filer
// _BLANK åbner et nyt vindue.
// Kan jo også være navnet på en frame/iframe
// Er den tom, bruges der ingen target i link
DEFINE("LINKTARGET", "_BLANK");

// Evt. class i link
// Bruges hvis den ikke er tom
DEFINE("LINKCLASS", "");

// De første tegn brugt til navn på div
// Ved load af siden, løbes doc igennem for div attributer ved hjælp af javascript
// Og starter et divnavn med DIR_NAME_START tjekkes om style skal være hidden eller visible
// Første tegn må IKKE være et tal !!!!!
DEFINE("DIR_NAME_START", "dir_");

// CONFIG END _______________________________________________________


//Tak til detox, www.eksperten.dk/spm/599757, for hjælp med lidt opendir()

function visFiler($dir) {

global $dont_show;

$out = array();

    $d = dir($dir);
    while (false !== ($file = $d->read())) {
        if (is_file($dir."/".$file) && !in_array($file, $dont_show["file"])) {
            $out[] = $file;
        }     
    }

    $d->close();

return $out;

}

function visMapper($dir, &$out) {

global $dont_show, $basepath;

    $d = dir($dir);
    $i = 0;
    while (false !== ($file = $d->read())) {
        if ($file != '.' && $file != '..' && !in_array($file, $dont_show["dir"])) {
            if (is_dir($dir."/".$file)) {
                $out[] = $dir."/".$file;
                visMapper($dir."/".$file, $out);
            $i++;
            }     
        }
    }
    $d->close();
}

function vis_link($link,$text) {

    $url = "\t\t<a href=\"".$link."\"";
    $url .= (LINKTARGET != "" ? " target=\"".LINKTARGET."\"" : "");
    $url .= (LINKCLASS != "" ? " class=\"".LINKCLASS."\"" : "");
    $url .= ">".$text."</a><br />\r\n";

return $url;

}


$basepath = preg_replace("/\/+/", "/", START_PATH);
$basepath = (substr($basepath, -1) == "/" ? substr($basepath, 0, -1) : $basepath);

$basedir = preg_replace("/\/+/", "/", START_DIR);
$basedir = (substr($basedir, -1) == "/" ? substr($basedir, 0, -1) : $basedir);
$basedir = (substr($basedir, 0, 1) != "/" ? "/".$basedir : $basedir);

$mappe = $basepath.$basedir;

// Tjekker om dir findes
if(!is_dir($mappe)) {
echo"Dir som skal l&aelig;ses igennem findes IKKE !!!!! ".$mappe;
exit;
}

// Tjekker om dir kan læses
if(!is_readable($mappe)) {
echo"Der er ikke l&aelig;se rettigheder til \$mappe !!!!! ".$mappe;
exit;
}


// Tjekker DIR_NAME_START er udfyldt
if(trim(DIR_NAME_START) == "") {
echo"DIR_NAME_START kan IKKE v&aelig;re tom!";
exit;
}


// Tjekker første tegn i DIR_NAME_START ikke er et tal ( javascript vil i givet fald fejle )
if(is_numeric(substr(trim(DIR_NAME_START), 0, 1))) {
echo"F&oslash;rste tegn i DIR_NAME_START m&aring; ikke v&aelig;re et tal!";
exit;
}

?><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><title>Faktura</title>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />

<script type="text/javascript">

<!-- get_id(), box_click() found at exp.dk -->

function get_id ($id) {

    if (document.all && document.getElementById) {
    return document.all($id);
    } else if (!document.all && document.getElementById) {
    return document.getElementById($id);
    } else {
    return false;
    }
}

function box_click ($id) {

    if (($bcontent = get_id($id))) {
    $bcontent = $bcontent.style;
    } else {
    return false;
    }

    if ($bcontent.visibility == 'hidden') {
    $bcontent.display = 'block';
    $bcontent.visibility = 'visible';
    createCookie($id,$id,5);
    } else {
    $bcontent.display = 'none';
    $bcontent.visibility = 'hidden';
    eraseCookie($id);
    }

}

<!-- http://www.eksperten.dk/spm/743420 -->

function eraseCookie(name) {
    createCookie(name,"",-1);
}

function createCookie(name,value,days) {
    if (days) {
    var date = new Date();
    date.setTime(date.getTime()+(days*24*60*60*1000));
    var expires = "; expires="+date.toGMTString();
    }else{
    var expires = "";
    }
    document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(cookname) {

    var nameEQ = cookname+ "=";
    var ca = document.cookie.split(';');
    for(var i=0;i < ca.length;i++) {
        var c = ca[i];
        while (c.charAt(0)==' ') c = c.substring(1,c.length);
        if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
    }
    return null;
}


window.onload = function() {

<!-- http://www.eksperten.dk/spm/769446 -->

var elms = document.getElementsByTagName("div");
var namestart = '<?php echo trim(DIR_NAME_START); ?>';
var nameantal = namestart.length;

    for(i=0,im=elms.length;im>i;i++){

        if(elms[i].id.substr(0,nameantal) == namestart) {

            if(divid = readCookie(elms[i].id)) {

                if (divref = get_id(divid)) {
                divref.style.visibility = 'visible';
                divref.style.display = 'block';
                }

            }

        }

    }

}


</script>

<style type="text/css">

body {
    margin: 0px;
    padding: 48px;
    font-family: verdana;
    font-size: 0.8em;
    color: #000000;
    background-color: #FFFFFF;
    }

a:link {
    color:#002424;
      }
a:visited {
    color:#002424;
          }
a:hover {
    text-decoration:none;
        }

</style>

</head>
<body>

        <noscript><div>Aktiver Javascript i din browser!</div></noscript>

<?php

$liste = array($mappe);

visMapper($mappe, $liste);

    for ($d = 0; $d < count($liste); $d++) {

    $visdir = str_replace($basepath."/", "", $liste[$d]);
    $visdir = (substr($visdir, 0, 1) != "/" ? "/".$visdir : $visdir);
    $dirlink = (strlen($visdir) > 1 ? $visdir."/" : $visdir);


    $dirantal = explode("/", $visdir);
    $t = (count($dirantal)*INDRYKNING);

    $filer = visFiler($basepath.$visdir);
    $antal = count($filer);

    $filestyle = "margin-left: ".INDRYKNING."px; visibility: hidden; display: none;";
    $click = " onclick=\"box_click('".DIR_NAME_START.$d."');\" onmouseover=\"this.style.cursor='pointer';\"";

    echo "\r\n\t<div style=\"margin-left: ".$t."px; padding: 4px;\">\r\n";
    echo "\t<span".$click.">".DIR_IMAGE." <span style=\"font-weight: bold;\">".$visdir."</span> <span style=\"font-size: 0.8em;\">( ".$antal." )</span></span>\r\n";

    echo "\t\t<div id=\"".DIR_NAME_START.$d."\" style=\"".$filestyle."\">\r\n";

        if ($antal > 0) {

        sort($filer);

            for ($i = 0; $i < $antal; $i++) {

            echo vis_link($dirlink.$filer[$i], $filer[$i]);
           
            }

        }else{

        echo"\t\tIngen filer\r\n";

        }

    echo"\t\t</div>\r\n";

    echo"\t</div>\r\n";

    }

clearstatcache();
?>


</body></html>
Avatar billede hjolsen Ekspert
30. juni 2016 - 06:29 #2
Hvis du tilknytter mapper på nas som netværksdrev kan denne bruges :
http://download.cnet.com/Duplicate-Cleaner/3000-2248_4-10584403.html
Avatar billede lurup Ekspert
15. juli 2016 - 17:02 #3
Kan jeg få det på lidt mere uerfarenden plan ???
Jeg har en Synology DS 415+
Avatar billede hjolsen Ekspert
17. juli 2016 - 08:25 #4
Avatar billede lurup Ekspert
24. juli 2016 - 18:24 #5
Hvordan finder jeg den der ???? syntes ikke jeg kan søge på den
Avatar billede showsource Seniormester
24. juli 2016 - 19:47 #6
Sorry for min første post !
Bruger en startside i min browser med link tl bl.a. php kategorien, men efter exp blev lavet om, linkede siden ikke til php !!!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester