#! /usr/bin/perl # # imlist2.cgi # サムネイル自動作成+画像一覧表示 # # 2.004 : 5/2/08 : 表示順をソートするよう修正 # 2.003 : 12/21/07 : 表示更新順オプションを追加 # 2.002 : 7/11/07 : tableタグを修正 # 2.001 : 6/24/07 : サムネイルを自動作成しないオプションを追加 # 2.0 : 1/15/06 : imlist.cgiにトップランダム機能を追加 # # http://www.hidekik.com/ # # $Id: imlist2.cgi,v 1.9 2008/05/02 03:22:46 Hideki Kanayama Exp $ # Copyright(c) 2006-2008, Hideki Kanayama, All rights reserved. use CGI::Carp qw(fatalsToBrowser); use Cwd; use File::Basename; use CGI qw(:cgi-lib); use strict; use GD; my $script= basename($0); my $version = "2.004"; my $updatedyear = "2008"; my $lang = 0; my $charset = ('Shift_JIS', 'ISO-8859-1')[$lang]; my $setupfile = "imlist_setup.pl"; #### Environment setup from here #################### # 公開するファイルがあるディレクトリ # A directory to be disclosed our $imdir = "files"; # 自動作成されたサムネイルを保存するディレクトリ our $thumb_dir = "imlist_thumbs"; # タイトル # title our $title = '画像一覧2'; # ページトップに表示するHTML our $head_html = '
\n) if ($backlink_en); # print "
\n"; print qq(
| \n";
chomp($imfile);
my $dllistfile = "$imdir/$imfile";
my ($d_dev,$d_ino,$d_mode,$d_nlink,$d_uid,$d_gid,$d_rdev,$d_size,$d_atime,$d_mtime,$d_ctime,$d_blksize,$d_blocks)=stat("$dllistfile");
my $size;
if ($d_size > 1048576){
$size = sprintf("%.1fMB",$d_size/1048576);
} elsif ($d_size > 1024){
$size = sprintf("%.1fkB",$d_size/1024);
} else {
$size = sprintf("%dB",$d_size);
}
print "$i, " if ($numdisp_en);
print "$imfile " if ($filename_en);
print "($size)" if ($filesize_en);
print " "; print ""; my ($im,$width,$height) = &openimage($imfile); my ($new_width, $new_height) = &getnewsize($width,$height); my ($body,$path,$suffix) = fileparse("$imfile",'\.\w+'); my $new_image = "$thumb_dir/$body" . "_${new_width}x${new_height}" . "$suffix"; print qq( \n"; if ($datedisp_en) { my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst)=localtime($d_mtime); my $update; if ($lang) { $update = sprintf("%02s:%02s %s/%s/%s",$hour,$min,$mon+1,$mday,$year+1900); } else { $update = sprintf("%s年%s月%s日%02s時%02s分",$year+1900,$mon+1,$mday,$hour,$min); } print " $update\n"; } print " | \n";
if ($i%$cols == $cols-1){
print "
\n"; print "