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

cbxk1xg
 2008-11-23 16:58
#116552 #116552
User since
2003-10-20
496 Artikel
BenutzerIn
[default_avatar]
Mh, da ändert sich nicht wirklich was. Ich bekomme zwar alle Bilder in Reihenfolge aber unter jedem Bild stehen alle Captions aus der Datei. Ich krieg echt ne Krise!

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
67
68
69
70
71
72
73
74
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 = "";


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;

open my $rfh, '<', $CaptionFile or return qq|Program Error! Could not open file: $CaptionFile. Debugging information: $!|;
{
# perldoc perlvar
local $/ = "";
@CAPTIONS = <$rfh>;
chomp @CAPTIONS;
}
close $rfh or return qq|Program Error! Could not close file: $CaptionFile. Debugging information: $!|;

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

#       for my $line (@LINES)
#       {
#               my ($caption) = split(/\n\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