<?xml version="1.0" encoding="Shift_JIS"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">

<head>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS" />
<meta http-equiv="Content-Style-Type" content="text/css" />
<meta http-equiv="Content-Script-Type" content="text/javascript" />
<link rel="stylesheet" href="../default.css" type="text/css" title="default" />
<link rel="alternate stylesheet" href="../nightly2.css" type="text/css" title="nightly" />
<script type="text/javascript" src="../css.js" charset="Shift_JIS"></script>
<title>ffCow</title>
</head>

<body>
<h1>ffCow</h1>
<p class="word-sp">
ver.2.04
<a href="#archive">収録ファイル</a>
<a href="#config">設定</a>
<a href="#upload">アップロード</a>
<a href="#test">テスト</a>
<a href="#setup">設置</a>
<a href="#function">機能紹介</a>
<a href="#history">履歴</a>
</p>

<h2 class="mark">特徴</h2>
<ul>
<li>CGI用のテキストカウンタです。</li>
<li>複数のページに設置できます。</li>
<li>表示／非表示ができます。</li>
<li>重複カウント防止機能</li>
<li>日計カウンタ機能</li>
<li>バックアップ機能</li>
</ul>

<h2 class="mark"><a id="archive">収録ファイル</a></h2>
<div class="ind">
	<p>
	ダウンロード後、解凍します。解凍すると以下のファイルが展開されます。
	<br />
	<br />ffcow.cgi	（実行ファイル）
	<br />ffcow.dat	（データファイル）
	<br />ffcow.bak	（バックアップファイル）
	<br />ffcow.lok	（ロックファイル）
	</p>
</div>

<h2 class="mark"><a id="config">設定</a></h2>
<div class="ind">
	<p>
	メモ帳、またはエディタを使って修正してください。
	</p>

	<h3 class="mark2">ffcow.cgi</h3>
	<div class="ind">
		<pre>
#!/usr/local/bin/perl<span class="comment">
Perlへのパスはプロバイダの指定にしてください。</span>

# データファイル名
$datafile = "ffcow.dat";<span class="comment">
ffcow.cgiと同じディレクトリに置く場合はこのままです。</span>

# バックアップファイル名
$backfile = "ffcow.bak";<span class="comment">
ffcow.cgiと同じディレクトリに置く場合はこのままです。</span>

# ロック機能（0=no, 1=flock, 2=rename）
$lockkey = 0;<span class="comment">
データファイルの破損を防ぎます。
ロック機能は1を推奨しますが、利用できない場合（<a href="#test">テスト</a>でNG）は2を指定してください。</span>

# ロックファイル名
$lockfile = "ffcow.lok";<span class="comment">
ffcow.cgiと同じディレクトリに置く場合はこのままです。</span>

# 重複カウント防止機能（0=no, 1=yes）
$nocountkey = 0;<span class="comment">
直前のアクセスが同じIPアドレスの場合にカウントしないようにします。</span>

# 累計表示
$fig_total = "%06d";<span class="comment">
表示桁数を7桁にする。
例）$fig_total = "%07d";</span>

# 日計表示（今日）
$fig_today = " Today: %04d";<span class="comment">
表示を折り返す。
例）$fig_today = "&lt;br&gt;today: %04d ";</span>
		</pre>
	</div>

	<h3 class="mark2">ffcow.dat</h3>
	<div class="ind">
		<p>
		設定はありません。
		空のままで動作します。
		カンマを区切りとして以下のように格納されます。
		<br />
		<br />累計,今日,昨日,日付,IPアドレス,ページ名1,
		<br />累計,今日,昨日,日付,IPアドレス,ページ名2,
		<br />　:
		<br />累計,今日,昨日,日付,IPアドレス,ページ名n,
		</p>
	</div>

	<h3 class="mark2">ffcow.bak</h3>
	<div class="ind">
		<p>
		設定はありません。
		</p>
	</div>

	<h3 class="mark2">ffcow.lok</h3>
	<div class="ind">
		<p>
		設定はありません。
		</p>
	</div>
</div>

<h2 class="mark"><a id="upload">アップロード</a></h2>
<div class="ind">
	<ol>
	<li>ホームディレクトリの下に任意のディレクトリを作成します。
	ここではpublic_html、cgi-binとします。
	プロバイダで指定されている場合はそれに従ってください。</li>
	<li>指定の転送モードで各ファイルをサーバにFTP転送します。</li>
	<li>パーミッションを設定します。</li>
	</ol>

	<p>
	全体のディレクトリ構成とファイル位置は以下の通りです。
	<br />[]内はパーミッションの設定値。
	()内は転送モード。（A=アスキー、B=バイナリ）
	</p>

	<pre>
public_html / index.html (トップページ)
  |
  +-- cgi-bin [705] / ffcow.cgi [705] (A)
                      ffcow.dat [606] (A)
                      ffcow.bak [606] (A)
                      ffcow.lok [604] (A)
	</pre>
</div>

<h2 class="mark"><a id="test">テスト</a></h2>
<div class="ind">
	<p>
	各ファイルのパス、パーミッションの設定をチェックすることができます。
	ブラウザのアドレス欄にURLを指定します。
	</p>

	<pre>
http://〜/cgi-bin/ffcow.cgi?check
	</pre>
</div>

<h2 class="mark"><a id="setup">設置</a></h2>
<div class="ind">
	<p>
	カウンタの設置方法は状況に応じて選んでください。
	</p>

	<h3 class="mark2">設置方法１</h3>
	<div class="ind">
		<p>
		<strong>prn</strong>パラメータで表示を制御します。
		<br />prn=[*1][*2][*3]
		<br />*1 累計: 0=非表示, 1=表示
		<br />*2 今日: 0=非表示, 1=表示
		<br />*3 昨日: 0=非表示, 1=表示
		</p>

		<pre><code>
&lt;body&gt;
  :
&lt;script type="text/javascript" src="./cgi-bin/ffcow.cgi?<strong>prn=111</strong>"&gt;&lt;/script&gt;
  :
&lt;/body&gt;<span class="comment">
./〜（相対パス）で上手くいかない場合は、
http://〜（フルパス）にしてください。</span>
		</code></pre>
	</div>

	<h3 class="mark2">設置方法２</h3>
	<div class="ind">
		<p>
		<strong>prn</strong>パラメータは不要です。
		<br />JavaScript記述内でffcow()を呼び出します。
		値は配列で返されます。
		<br /><em>arrayobj</em>[0] 累計
		<br /><em>arrayobj</em>[1] 日計（今日）
		<br /><em>arrayobj</em>[2] 日計（昨日）
		</p>

		<pre><code>
&lt;head&gt;
  :
&lt;script type="text/javascript" src="./cgi-bin/ffcow.cgi"&gt;&lt;/script&gt;
  :
&lt;/head&gt;
&lt;body&gt;
  :
&lt;script type="text/javascript"&gt;
&lt;!--
var count = ffcow();
var str = count[0];
str += count[1];
str += count[2];
document.write(str);
//--&gt;
&lt;/script&gt;
  :
&lt;/body&gt;
		</code></pre>
	</div>
</div>

<h2 class="mark"><a id="function">機能紹介</a></h2>
<div class="ind">
	<h3 class="mark2">ページ毎にカウントしたい場合</h3>
	<div class="ind">
		<p>
		index2.htmlというページをカウントする場合、index2.htmlに以下のように記述します。
		<br /><strong>pg</strong>パラメータは他のページと重ならない任意の名前を指定してください。
		</p>

		<pre><code>
&lt;body&gt;
  :
&lt;script type="text/javascript" src="./cgi-bin/ffcow.cgi?prn=1<strong>&amp;pg=index2</strong>"&gt;&lt;/script&gt;
  :
&lt;/body&gt;
		</code></pre>
	</div>

	<h3 class="mark2">各ページのカウントをサイトのカウント数としてまとめたい場合</h3>
	<div class="ind">
		<p>
		カウンタをトップページにだけ表示して、他のページは表示しないようにして設置します。
		<br />トップページ（カウンタを表示）。
		</p>

		<pre><code>
&lt;body&gt;
  :
&lt;script type="text/javascript" src="./cgi-bin/ffcow.cgi?<strong>prn=1</strong>"&gt;&lt;/script&gt;
  :
&lt;/body&gt;
		</code></pre>

		<p>
		他のページ（カウンタを非表示）。
		</p>

		<pre><code>
&lt;body&gt;
  :
&lt;script type="text/javascript" src="./cgi-bin/ffcow.cgi?<strong>prn=0</strong>"&gt;&lt;/script&gt;
  :
&lt;/body&gt;
		</code></pre>
	</div>
</div>

<h2 class="mark"><a id="history">履歴</a></h2>
<div class="ind">
	<table summary="スクリプトの変更履歴を日付、バージョン、変更内容の順に並べた表">
	<tr valign="top">
		<td>2003/7/18</td>
		<td>2.04</td>
		<td>バックアップ機能の複数ページ対応を追加修正。</td>
	</tr>
	<tr valign="top">
		<td>2003/7/6</td>
		<td>2.03</td>
		<td>バックアップ機能が複数ページに対応していなかったバグを修正。</td>
	</tr>
	<tr valign="top">
		<td>2003/7/3</td>
		<td>2.02</td>
		<td>データファイルの前日分バックアップ機能追加。</td>
	</tr>
	<tr valign="top">
		<td>2003/6/30</td>
		<td>2.01</td>
		<td>内部的に使用している変数の名称を変更。設定、動作に変更なし。</td>
	</tr>
	<tr valign="top">
		<td>2003/3/14</td>
		<td>2.00</td>
		<td>Perl5に移行。</td>
	</tr>
	<tr valign="top">
		<td>2002/6/20</td>
		<td>1.11</td>
		<td>SSIによる起動方法をffcows.cgiに移行。パラメータの記述方法を変更。ロック機能を強化。</td>
	</tr>
	<tr valign="top">
		<td>2002/3/31</td>
		<td>1.10</td>
		<td>SSIによる起動方法を追加。パラメータの記述方法を変更。</td>
	</tr>
	<tr valign="top">
		<td>2001/12/30</td>
		<td>1.09</td>
		<td>設置テスト機能を修正。</td>
	</tr>
	<tr valign="top">
		<td>2001/12/1</td>
		<td>1.08</td>
		<td>設置テスト機能を追加。</td>
	</tr>
	<tr valign="top">
		<td>2001/11/10</td>
		<td>1.07</td>
		<td>データディレクトリの設定を削除。データファイルフォーマットを変更。複数ページ設置方法を変更。</td>
	</tr>
	<tr valign="top">
		<td>2001/10/28</td>
		<td>1.06</td>
		<td>ロック処理変更。表示設定を変更。</td>
	</tr>
	<tr valign="top">
		<td>-</td>
		<td>1.05</td>
		<td>未公開。</td>
	</tr>
	<tr valign="top">
		<td>2001/6/22</td>
		<td>1.04</td>
		<td>設定項目を変更、追加。日付判定部分を変更。</td>
	</tr>
	<tr valign="top">
		<td>2001/6/14</td>
		<td>1.03</td>
		<td>ロック処理を修正。</td>
	</tr>
	<tr valign="top">
		<td>2001/6/5</td>
		<td>1.02</td>
		<td>ロック処理を変更。</td>
	</tr>
	<tr valign="top">
		<td>2001/4/6</td>
		<td>1.01</td>
		<td>スクリプト中でのフォント指定を削除。</td>
	</tr>
	<tr valign="top">
		<td class="nowrap">2001/3/13　</td>
		<td class="nowrap">1.00　</td>
		<td>初版リリース。</td>
	</tr>
	</table>
</div>

<div id="foot" class="right">
	<hr />
	Copyright &copy; 2002 Fortunefield
</div>
</body>

</html>

