Schrift
[thread]7801[/thread]

feststellen, ob eine Datei neuer ist: Thumbnailerstellung in Bildergalerie



<< >> 3 Einträge, 1 Seite
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 :) )
Relais
 2006-03-17 19:42
#63865 #63865
User since
2003-08-06
2246 Artikel
ModeratorIn
[Homepage] [default_avatar]
[quote=pktm,17.03.2006, 17:51]
Code: (dl )
stat( $originalbild ) )[ 9 ] < ( stat( $thumbnail ) )[ 9 ]
[/quote]
hier fragst Du ab, ob der Thumbnail neuer ist.

Deiner Beschreibung nach willst Du hier aber abfragen, ob das Bild neuer ist.

Loesung: Ersetze < durch >
Erst denken, dann posten --
27. Deutscher Perl- u. Raku -Workshop (Termin wird noch gesucht) 2025 in München.

Winter is Coming
pktm
 2006-03-18 19:25
#63866 #63866
User since
2003-08-07
2921 Artikel
BenutzerIn
[Homepage]
user image
Ja, toll! Damit geht es.
Ich hatte gedacht, ich hätte das schon kontrollirt... :-(
Manchmal sehe ich solche Dinge einfach nicht. Aber das ist isofern praktisch, als dass ich dann Pause mache :-)
http://www.intergastro-service.de (mein erstes CMS :) )
<< >> 3 Einträge, 1 Seite



View all threads created 2006-03-17 18:51.