Thread Verzeichnis rekursiv auslesen und in Datenbank schreiben (39 answers)
Opened by Anton at 2012-05-15 08:38

GwenDragon
 2012-05-18 11:44
#158405 #158405
User since
2005-01-17
14542 Artikel
Admin1
[Homepage]
user image
So ganz klar ist mir die Aufgabenstellung aus http://www.phpbar.de/w/Baumstruktur_aus_DB_in_Arra... nicht.
Nacvhdem ich deine Aufgabenstellung gelesen habe, versuche ich mal das nachzustellen, was du an Daten aus dem Verzeichnis lesen willst.
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#!/usr/bin/perl

use strict;
use warnings;

$| = 1;

use File::Find;
use File::Spec;

# Verzeichnis von Kommandozeile holen
my $verzeichnis = shift(@ARGV) || '.'; 

# Array für die gefundenen Dateien
my @dateien; 

my $id = 0;
my $parent;
my %ids;

sub wanted { 
  if ( $_ ne '..' ) {
        $ids{ $File::Find::name } = $id;
        $parent = $File::Find::dir;
        push @dateien,{ 
                id => $id++, 
                fullname => $File::Find::name, 
                name => $_, 
                parent => $parent, 
                parentid => $ids{ $parent },
                stat => [ (stat($File::Find::name))[8,9,10] ]
        };
  }
}
# Suche nach Dateien starten
find(\&wanted, File::Spec->rel2abs($verzeichnis) ); 

for my $datei (@dateien) {
  print 
        "ID:",$datei->{id},
        "\tPARENT:",$datei->{parent},
        "\tPARENTID:",$datei->{parentid},
        "\tNAME:",$datei->{name},  
        "\tFULLNAME:",$datei->{fullname},  
        "\tSTAT:",join " ",@{$datei->{stat}},  
        "\n";
}

Probiere das mal aus, ob es dir so passt.

Das in die Datenbank schreiben ist nachher eher einfachst zu machen.
die Drachin, Gwendolyn


Unterschiedliche Perl-Versionen auf Windows (fast wie perlbrew) • Meine Perl-Artikel

View full thread Verzeichnis rekursiv auslesen und in Datenbank schreiben