一覧 |
コード登録画面
画像カウンタクラス [ 2004年12月03日 ]
<?php
/**
* 画像カウンタクラス
*
* カウンタをクラス化してます。
* ファイル名を渡して初期化するのでこれ1つで複数のカウンタが作成可能
*
* 作成者:
* KJ
*
* 使い方:
* // カウンタ1
* $CNT1 = new Counter_Img("c1.txt","/img/","gif");
* $CNT1->view();
*
* // カウンタ2
* $CNT2 = new Counter_Img("c2.txt","/img/","jpg");
* $CNT2->view();
*
*/
// +----------------------------------------------------------------------+
// | PHP version 4 |
// +----------------------------------------------------------------------+
// | Authors: KJ |
// +----------------------------------------------------------------------+
//
// 画像カウンタクラス
/**
* カウンタクラス
*
* @package Counter
* @author KJ
* @since PHP 4.0
*/
class Counter {
var $_filename;
var $_count;
function Counter($filename)
{
$this->_filename = $filename;
$fp = @fopen($this->_filename, "r+") or die("can't open datafile [$filename]");
$this->_count = fgets($fp, 32);
if ($this->_count == "") {
$this->_count = 0;
}
$this->_count += 1;
rewind($fp);
flock($fp, 2);
fputs($fp, $this->_count);
fclose($fp);
}
function view()
{
echo $this->_count;
}
}
/**
* 画像カウンタクラス
*
* @package Counter
* @author KJ
* @since PHP 4.0
*/
class Counter_Img extends Counter {
var $_imgdir;
var $_imgtype;
/**
* コンストラクタ
*
* @param string $filename ファイル名
* @param string $imgdir 画像ディレクトリ
* @param string $imgtype 画像タイプ( gif , png , jpg )
*
* @return void
*
* @access public
*/
function Counter_Img($filename,$imgdir,$imgtype)
{
$this->Counter($filename);
$this->_imgdir = $imgdir;
if (substr($imgtype,0,1) != ".") {
$imgtype = ".".$imgtype;
}
$this->_imgtype= $imgtype;
}
function view()
{
$tmp = preg_split("//",$this->_count,"",PREG_SPLIT_NO_EMPTY);
for ($i=0;$i<count($tmp);$i++) {
$char = $tmp[$i];
echo "<img src=\"".$this->_imgdir.$char.$this->_imgtype."\">";
}
}
}
/**
*
* サンプル
*
* $CNT = new Counter_Img("c1.txt","/tmp/","gif");
* $CNT->view();
*
*/
?>
投稿者:KJ<phpedit@hotmail.com>
//phpspot.net/