Thread Zwei Arrays "synchron" ausgeben (9 answers)
Opened by cbxk1xg at 2008-11-23 15:18

cbxk1xg
 2008-11-23 16:25
#116550 #116550
User since
2003-10-20
496 Artikel
BenutzerIn
[default_avatar]
Hier mal die komplett SUB
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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
sub GetGalleryFileAndCaptions
{
my ($URLpicdir,$PATHpicdir) = @_;


return "Error: couldn't build gallery. The following directory does not exist: $PATHpicdir" if not (-d "$PATHpicdir");


my @allfiles = ();
my @dirs = ();
my @CAPTIONS = ();
my @PICS = ();
my $PicDisplayReturn = "";

&untaint( \$PATHpicdir ) or return "Could not untaint directory: $PATHpicdir\n";

opendir(DIR, "$PATHpicdir") or return "Could not open: $PATHpicdir";
@allfiles = sort( readdir( DIR ) );
closedir(DIR);

        for my $file (@allfiles)
        {
                if (-d "$PATHpicdir$file")
                {
                push @dirs, $file unless (($file eq ".") or ($file eq ".."));
                }

                else
                {
                my ($extension) = $file =~ /\.([^.]+?)$/; 
                $extension = lc($extension);
                push @PICS, $file if ($extension eq "jpg");
                }

        }

my $CaptionFile = $PATHpicdir."bu.txt";

open DATA, "<$CaptionFile" or return qq|Program Error! Could not open file: $CaptionFile. Debugging information: $!|;
chomp (my @LINES = <DATA>);
close DATA;

        for my $line (@LINES)
        {
        $line =~ s/\015\012|\012|\015/\n/sg;
        }
        

        for my $line (@LINES)
        {
                my ($caption) = split(/^\n*$/,$line);
                {
                push(@CAPTIONS,$caption);
                }
        }

        for my $p (0 .. $#PICS)
        {

        $PicDisplayReturn .= "PIC:<br><img src=\"$URLpicdir$PICS[$p]\" alt=\"$CAPTIONS[$c]\" border=\"0\" class=\"GalleryPic\"><br>CAPTION:<br>$CAPTIONS[$c]<hr>";
        
        }

#$PicDisplayReturn =~ s/\015\012|\012|\015//sg;
return $PicDisplayReturn;
}

View full thread Zwei Arrays "synchron" ausgeben