Thread feststellen, ob eine Datei neuer ist: Thumbnailerstellung in Bildergalerie (2 answers)
Opened by pktm at 2006-03-17 18:51

pktm
 2006-03-17 18:51
#63864 #63864
User since
2003-08-07
2921 Artikel
BenutzerIn
[Homepage]
user image
Hallo!

Ich habe da ein Stück Kode aus einer Bildergalerie.

Code: (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
sub zeigeThumbnail {
my $self = shift;
my $grafik = $self->query->param('bild');
my $musterEndung = $self->param('Dateiendungen');
my $photo_dir = $self->param('Photo_dir');
my $originalbild = $photo_dir . $grafik;
my $thumbnail = $self->_getThumbnailPfad( $grafik );

if( -e $originalbild ) {

if( !$self->_getThumbnailExistenz( $grafik )
or ( stat( $originalbild ) )[ 9 ] < ( stat( $thumbnail ) )[ 9 ] ) {

# Existiert kein Thumbnail oder
# ist das angeforderte Bild im Grafik-Verzeichnis neuer als
# der gleichnamige Thumbnail, so ist der Thumbnail veraltet
# und es muss ein neuer erstellt werden.

# Fehlerabfrage... (!!!)
$self->_erzeugeThumbnail( $grafik );

}

}else{
# originalbild existiert nicht
croak( "das angeforderte Bild [$grafik] existiert nicht" );
}

open( PHOTO, $thumbnail ) or croak "ERROR: Cannot open $thumbnail: $!";
binmode PHOTO;
my $data = do { local $/; <PHOTO> };
close( PHOTO );

# Es wird direkt das Bild ausgegeben, daher wäre der passende
# cgi-header ganz praktisch.
$self->header_props(-type=>'image/png',
-expires=>'+3d');

return $data;
} # /zeigeThumbnail


Kurz zusammengefasst:
Wenn es das angeforderte Bild gibt soll der dazugehörige Thumbnail ausgegeben werden. Existiert noch kein Thumbnail oder ist das angeforderte Bild neuer als der Thumbnail soll ein Thumbnail zum Bild erstellt werden.

Leider wird der Thumbnail bei mir scheinbar bei jedem Aufruf erstellt. Sieht jemand den Fehler? Ich bislang noch nicht.

Grüße, pktm
http://www.intergastro-service.de (mein erstes CMS :) )

View full thread feststellen, ob eine Datei neuer ist: Thumbnailerstellung in Bildergalerie