CodeVault (ユーザ投稿コードライブラリ) ポータルトップ | phpspot

  一覧 | コード登録画面
前のページに戻る
画像カウンタクラス [ 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($fp32);
        if (
$this->_count == "") {
            
$this->_count 0;
        }
        
$this->_count += 1;
        
        
rewind($fp);
        
flock($fp2);
        
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/