zoukankan      html  css  js  c++  java
  • 国外好东西真的多,现在贴上一个访问ACCESS的类!

    简介:这是国外好东西真的多,现在贴上一个访问ACCESS的类!的详细页面,介绍了和php,有关的知识、技巧、经验,和一些php源码等。

    class='pingjiaF' frameborder='0' src='http://biancheng.dnbcw.info/pingjia.php?id=325327' scrolling='no'> 这是ACCESS的类

    <?
    Class AccessDBM
    {
        var $COUNT = 0;
        var $VALUES = array();
        var $FILE = "";
        var $ERROR = "";
        var $EXISTS = false;
        var $STATIC = false;
        var $EXACT = false;
        var $DBM;

    //    Older version of PHP can't do the 'new ClassName(args)'
    //    Use initilize() if this is the case.

    //    *******************************************************

        function AccessDBM ($dbmFile, $static = 0)
        {
            global $php_errormsg;

            if(!empty($dbmFile))
            {
                if(file_exists($dbmFile))
                {
                    $this->EXISTS = true;
                }
                if($static != 0)
                {
                    $this->STATIC = true;
                }
                $this->FILE = $dbmFile;
            }
            return;
        }

    //    *******************************************************

    //    Identical to AccessDBM
        function initialize ($dbmFile, $static = 0)
        {
            global $php_errormsg;

            if(!empty($dbmFile))
            {
                if(file_exists($dbmFile))
                {
                    $this->EXISTS = true;
                }
                if($static != 0)
                {
                    $this->STATIC = true;
                }
                $this->FILE = $dbmFile;
            }
            return;
        }

    //    *******************************************************

        function add_entry ($key, $val)
        {
            $results = 0;
            $dbm = $this->open_dbm();
            if(!$dbm) { return false; }

            if(!(dbmreplace($dbm,$key,$val)))
            {
                if(!(dbmexists($dbm,$key)))
                {
                    $this->ERROR = "Fatal error : could not replace $key with $val";
                    $this->close_dbm($dbm);
                    return false;
                }
            }
            $this->close_dbm($dbm);
            return true;        
        }

    //    *******************************************************

        function remove_entry ($Key)
        {
            global $php_errormsg;
            $removed = false;

            $dbm = $this->open_dbm();
            if(!$dbm) { return false; }

            if(dbmexists($dbm,$Key))
            {
                if(!dbmdelete($dbm,$Key))
                {
                    if(dbmexists($dbm,$Key))
                    {
                        $this->ERROR = "Unable to remove [$Key] : [$php_errormsg]";
                        $this->close_dbm($dbm);
                        return false;
                    }
                }
                else
                {
                    $this->close_dbm($dbm);
                    $removed = true;
                }
            }
            else
            {
                $this->ERROR = "Key [$Key] does not exist";
                $this->close_dbm($dbm);
                return false;
            }
            return true;
        }

    //    *******************************************************

        function get_value ($Key)
        {
            $val = "";
            $readOnly = true;

            $dbm = $this->open_dbm($readOnly);

            if(!$dbm) { return false; }

            if(dbmexists($dbm,$Key))
            {
                $val = dbmfetch($dbm,$Key);
            }
            $this->close_dbm($dbm);
            return $val;
        }

    //    *******************************************************

        function open_dbm ($readOnly = false)
        {
            global $php_errormsg;

            if($this->STATIC)
            {
                if(!(empty($this->DBM)))
                {
                    $dbm = $this->DBM;
                    return ($dbm);
                }
            }

            $fileName = $this->FILE;

            if(!$this->EXISTS)
            {
                $dbm = @dbmopen($fileName,"n");
            }
            else
            {
                if(!$readOnly)
                {
                    // We want the warning here if we can't be
                    // a writer
                    $dbm = dbmopen($fileName,"w");
                }
                else
                {
                    $dbm = @dbmopen($fileName,"r");
                }
            }
            if( (!$dbm) or (empty($dbm)) )
            {
                $this->EXISTS = false;
                $this->STATIC = false;
                $this->ERROR = "Unable to open [$fileName] [$php_errormsg]";
                return false;
            }
            $this->EXISTS = true;
            if($this->STATIC)
            {
                $this->DBM = $dbm;
            }

            return ($dbm);

        }

    //    *******************************************************

        function find_key ($search)
        {
            $val = "";

            $dbm = $this->open_dbm(1);
            if(!$dbm) { return false; }
            if(dbmexists($dbm,$search))
            {
                // Wow an exact match
                $val = dbmfetch($dbm,$search);
                $this->close_dbm($dbm);
                $this->EXACT = true;
                return $val;
            }
            else
            {
                $this->EXACT = false;
                $key = dbmfirstkey($dbm);
                while ($key)
                {
                    // Strip the first whitespace char and
                    // everything after it.
                    $test = ereg_replace(" .*","",$key);
                    if(eregi("^$test",$search))
                    {
                        $val = dbmfetch($dbm,$key);
                        $this->close_dbm($dbm);
                        error_log("Test [$test] matched [$search]",0);
                        return $val;
                    }
                    $key = dbmnextkey($dbm,$key);
                }
            }
            // Didn't find it
            $this->close_dbm($dbm);
            return false;
        }

    //    *******************************************************

        // Returns the KEY
        function find_val ($search)
        {
            $this->EXACT = false;

            $Dbase = $this->get_all();
            if(empty($Dbase))
            {
                error_log("ERROR Dbase is empty $DB->ERROR",0);
                return false;
            }
            while ( list ( $key, $val ) = each ($Dbase) )
            {
                if($search == $val)
                {
                    $this->EXACT=true;
                    return $key;
                }
                else
                {
                    // Strip the first whitespace char and
                    // everything after it.

                    $test = ereg_replace(" .*","",$val);

                    if(eregi("^$test",$search))
                    {
                        $this->EXACT = false;
                        return $key;
                    }
                }
            }
            // Didn't find it
            return false;
        }

    //    *******************************************************

        function get_all ()
        {
            $values = array();
            $count = 0;
            $readOnly = true;
            $dbm = $this->open_dbm($readOnly);
            if(!$dbm) { return false; }

            $key = dbmfirstkey($dbm);

            while ($key)
            {
                $val = dbmfetch($dbm,$key);
                $values[$key] = $val;
                $count++;
                $key = dbmnextkey($dbm, $key);
            }
            $this->COUNT = $count;
            $this->VALUES = $values;
            $this->close_dbm($dbm);
            return $values;
        }

    //    *******************************************************

        function close_dbm ($dbm)
        {
            $results = false;

            if(!$this->STATIC)
            {
                $results = dbmclose($dbm);
            }
            return $results;
        }


    //    *******************************************************

        function static_close()
        {
            $results = false;

            if(!$this->DBM)
            {
                $this->ERROR = "No static DBM to close";
                return false;
            }
            $dbm = $this->DBM;
            $results = dbmclose($dbm);
            unset($this->DBM);
            return $results;
        }

    //    *******************************************************

    }
    ?>

    这个连接上!
    include("class.AccessDBM.php3");
        $static = true;
        $dbase = new AccessDBM("/path/to/file.dbm",$static);


        register_shutdown_function($dbase->static_close());


        if(!$dbase->add_entry("cdi","cdi@thewebmasters.net))
        {
            echo "Error adding entry: $dbase->ERROR\n";
        }
        $Values = $dbase->get_all()
        while ( list ($key,$val) = each ($Values) )
        {
            echo "Key: $key  Val: $val \n";
        }
        exit;

    “国外好东西真的多,现在贴上一个访问ACCESS的类!”的更多相关文章 》

    爱J2EE关注Java迈克尔杰克逊视频站JSON在线工具

    http://biancheng.dnbcw.info/php/325327.html pageNo:14
  • 相关阅读:
    CSS 中 Position relative 和 absolute区别
    感受到LDT的好处
    Map数据结构
    break和continue
    vue的ref属性
    css小样式
    搭建vue开发环境
    setTimeout和clearTimeout
    垂直居中
    vertical-align 属性
  • 原文地址:https://www.cnblogs.com/ooooo/p/2253742.html
Copyright © 2011-2022 走看看