Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

Webprogrammeren & scripting

[cgi] verwijderen subdirectory incl. onderliggende bestanden

Anoniem
Bill Gates
4 antwoorden
  • Ik ben op zoek naar cgi code welke het volgende doet:

    Het verwijderen van een subdirectory, [b:b4d4b414ae]indien deze ouder is dan 12 uur[/b:b4d4b414ae], incl. onderliggende bestanden. Indien mogelijk zonder extra module dan de standaard cgi module.

    bv. van diversen\plaatjes\
    wil ik subdirectory plaatjes verwijderen, inclusief alle bestanden die in de subdirectory plaatsjes staan.
  • Ik heb in m'n archief 2 voorbeeldjes gevonden die je misschien kan combineren.

    vb1 (dir leeggooien):
    [code:1:ffae79c3f8]
    #!/usr/bin/perl

    $dir = 'bla';

    # remove files
    opendir (DIR, $dir) or die "unable to open $dir: $!";
    chdir $dir;
    unlink grep { -f "$_" } readdir (DIR) or die $!;
    closedir(DIR);
    chdir "..";

    # remove dir
    rmdir $dir or die $!;
    [/code:1:ffae79c3f8]

    vb2 (datum van files opvragen):
    [code:1:ffae79c3f8]
    #!/usr/bin/perl

    $dir = 'bla';
    chdir $dir;

    # remove files
    opendir (DIR, $dir) or die "unable to open $dir: $!";
    @files = grep { -f "$_" } readdir (DIR);
    closedir(DIR);

    for $file (@files) {
    ($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst) =
    localtime((stat($file))[8]);
    if ($year > 100) {
    $year += 1900;
    }
    $mon++;
    printf ("%s %02d-%02d-%02d %02d:%02d:%02d
    ",
    $file, $year, $mon, $mday, $hour, $min, $sec);
    }
    [/code:1:ffae79c3f8]

    Overigens gaat het eerste voorbeeld ervanuit dat de directory geen subdirs meer bevat.
  • Even een poging.

    #!/usr/bin/perl
    use File::Path;
    $dir = 'diversen/plaatjes';
    rmtree($dir) if (-M $dir > 0.5);
  • Ok, een ander cgi-bestandje van mij heeft diverse, uit random karakters subdirectories onder de visitor directory aangemaakt. Hoe kan ik deze indien ze ouder zijn dan 12 uur, zelfs als daar weer bestanden in staan verwijderen ?

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.