新規記事投稿 フォロー記事投稿 記事のキャンセル
From: にあ <nir@mvg.biglobe.ne.jp>
Subject: Re: アクセスカウンタ作成法他(訂正再投稿)
Date: 1999/03/03 05:58:50
Reference: mesh.program/00635

2月28日に、三葉工房の管理者さんは書きました。

>実行の無い日のカウントも0でファイルに記録する方法ですが,それには,日付の引き算
>が出来る事が必要になると思います。よく表計算では,dateと言う関数でA年月日からB年月日までは,どれくらいの日数があるかを計算出来ます。しかしperlでは,どうやらdate
>と言う関数は無いようです。localtimeでは,実行した時の時間情報しか手に出来ません。ところで,その様にperlにてA年月日からB年月日までどれくらいの日数があるかと
>言う計算はどのように行うのでしょうか。

localtime()の逆関数でtimelocal()と言うのがあります。
前に記事268でも書いたことがありますが、perlの標準添付ライブラリにありますので、まず、

require "timelocal.pl";

で、timelocal.plを使えるようにしておいてから、

$time = &timelocal($sec, $min, $hour, $mday, $mon - 1, $year - 1900);

の様にして、指定時間の内部的な値(秒数)を得ます。
日付の引き算がしたいなら、得られた秒数で引き算して、日にちに換算すれば良いでしょう。

>次に,バナー一体式アクセスカウンタの作り方の件ですが,よく上がアクセスカウンタ
>で下がバナーというカウンタとバナーが一体になっているのを見かけますよね。
>それを作りたいのです。そのスクリプトは何処にも公開されていません。

以前、記事455でのりーさんが紹介してくれたカウンタがまさにそれだったのですが、
今見たらリンク先が無くなっていますね。
# のりーさんペーヂ移っちゃったのかなぁ

>先程のgif-cat.plの内容を読んだところ処理が数多く書かれていまして,どうやらGIF
>を連結するプログラムの技術は大変らしいです。
> ですが,その話しは別にしてperlプログラムで,GIFファイルを連結して,一体化
>されたGIFを作成するには,どの様に行うのでしょうか。

gifcat.plでは同じ大きさのGIFファイルを横につなげる機能しか提供していない様ですが
画像を横につなげるのもバナーの下に並べるのも、単に置く場所の指定を変えるだけで同じ事です。

まあ、その辺を変えるためにはGIFのフォーマットに付いて知っておかなければならないので
チョット面倒ですが、トホホさんのgifcat.plはそんなに見づらいソースでは無いので
ソースとGIFフォーマットの規格とを見比べていけば変更できると思います。

ちなみにGIFフォーマットに付いては、GIF89M規格の日本語訳などを見ると良いでしょう。
# って、さっき見つけたばかりなのだが。(^^)