![]() |
| カレッヂ |
質問者 アスカ
投稿日 2004/3/18(木) 21:23:00
初めまして。初心者です。 複数の画像ファイル(※)から、1つの画像を日毎に変えて表示したいのです。 1つの画像ファイルを選ぶ方法はランダムでもローテーションでも構いません。 (※)画像ファイルは増やしていく予定なので、自動的に画像のみのファイル数を取得できるようにしたいのです。 Perlで以上のようなプログラミングをし、サイトを作りたいのです。 是非、教えてください。よろしくお願い致します。
プロバイダ参照: |
回答者 sim
[削除]
投稿日 2004/3/19(金) 03:04:58
#!/usr/local/bin/perl
#日付の取得
$today = (localtime(time))[3];
#更新日の取得
open(OPEN,"./lastdate.log");
@log = <OPEN>;
close(OPEN);
#日付変更時に画像の変更
if($log[0] != $today){
#画像データの全読み込み(GIFのみ)./gifディレクトリを指定。
opendir(DIR, "./gif");
@imagefiles = grep { /\.gif/ } readdir(DIR);
closedir(DIR);
#画像ファイルのランダム取得
$image = "./gif/".$imagefiles[rand(@imagefiles)];
#データの更新
open(OUT,"> ./lastdate.log");
print OUT "$today\n";
print OUT "$image";
close(OUT);
}else{
#同じ日付なら同じ画像
$image = $log[1];
}
#GIF画像の出力
print "Content-type: image/gif\n\n";
#画像の書込
open(IMG,"$image");
binmode(IMG);
print while(<IMG>);
close(IMG);
これで<img src="gazou.cgi">とかで呼び出せるかと思います。
CGIで使うのであれば普通にprint"<img src=$image>";でいけると思います。 |
質問者 アスカ
[削除]
投稿日 2004/3/19(金) 21:10:03
ありがとうございます。 大変うれしいです。 いつかsim様のようにプログラミング出来るようがんばりたいと思います。 |
このページは終了したので返信(回答)は書きこめません
| Web裏技 |