백엔드 개발 PHP 튜토리얼 国外好东西真的多,现在贴上一个访问ACCESS的类!_PHP

国外好东西真的多,现在贴上一个访问ACCESS的类!_PHP

Jun 01, 2016 pm 12:35 PM
물건 외국의 지금 입장

Access

这是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;

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

wapi가 무엇인지에 대한 자세한 소개 wapi가 무엇인지에 대한 자세한 소개 Jan 07, 2024 pm 09:14 PM

사용자들은 인터넷을 사용하면서 와피(wapi)라는 용어를 접했을 수도 있지만, 와피가 무엇인지 모르는 사람들도 있을 것입니다. 다음은 모르는 사람들의 이해를 돕기 위해 자세히 소개한 것입니다. wapi란 무엇입니까? 답변: wapi는 무선 LAN 인증 및 기밀 유지를 위한 인프라입니다. 이는 일반적으로 사무실 건물과 같은 장소 근처에서 보호되는 적외선 및 블루투스와 같은 기능과 같습니다. 기본적으로 소규모 부서가 소유하므로 이 기능의 범위는 불과 몇 킬로미터에 불과합니다. wapi 관련 소개: 1. Wapi는 무선 LAN의 전송 프로토콜입니다. 2. 이 기술은 협대역 통신의 문제를 방지하고 더 나은 통신을 가능하게 합니다. 3. 신호를 전송하는 데는 하나의 코드만 필요합니다.

Java에서 JSONNode의 JSON 필드, 배열 및 중첩 개체에 액세스하는 방법은 무엇입니까? Java에서 JSONNode의 JSON 필드, 배열 및 중첩 개체에 액세스하는 방법은 무엇입니까? Aug 30, 2023 pm 11:05 PM

JsonNode는 JSON을 JsonNode 인스턴스로 읽고 JsonNode를 JSON으로 쓸 수 있는 Jackson의 JSON 트리 모델입니다. Jackson을 사용하면 ObjectMapper 인스턴스를 생성하고 readValue() 메서드를 호출하여 JSON을 JsonNode로 읽을 수 있습니다. JsonNode 클래스의 get() 메서드를 사용하여 필드, 배열 또는 중첩 개체에 액세스할 수 있습니다. asText() 메서드를 사용하여 유효한 문자열 표현을 반환하고 JsonNode 클래스의 asInt() 메서드를 사용하여 노드의 값을 Javaint로 변환할 수 있습니다. 아래 예에서는 Json에 액세스할 수 있습니다.

iOS 17: 사진에 액세스할 수 있는 앱을 제어하는 ​​방법 iOS 17: 사진에 액세스할 수 있는 앱을 제어하는 ​​방법 Sep 13, 2023 pm 09:09 PM

iOS17에서 Apple은 앱이 사진에서 볼 수 있는 내용을 더 강력하게 제어할 수 있습니다. 앱별로 앱 액세스를 관리하는 방법을 알아보려면 계속 읽어보세요. iOS에서는 Apple의 앱 내 사진 선택기를 사용하여 특정 사진을 앱과 공유하고 나머지 사진 라이브러리는 비공개로 유지할 수 있습니다. 앱은 전체 사진 라이브러리에 대한 액세스를 요청해야 하며 선택적으로 앱에 다음 액세스 권한을 부여할 수 있습니다. 제한된 액세스 – 앱은 선택할 수 있는 이미지만 볼 수 있으며, 이는 앱에서 언제든지 또는 설정 > 개인 정보 보호 및 보안>사진을 클릭하면 선택한 이미지를 볼 수 있습니다. 전체 액세스 - 앱에서 사진을 볼 수 있음

Python을 사용하여 다양한 오디오 및 비디오 파일의 메타데이터에 액세스 Python을 사용하여 다양한 오디오 및 비디오 파일의 메타데이터에 액세스 Sep 05, 2023 am 11:41 AM

Python의 Mutagen 및 eyeD3 모듈을 사용하여 오디오 파일의 메타데이터에 액세스할 수 있습니다. 비디오 메타데이터의 경우 Python에서 영화와 OpenCV 라이브러리를 사용할 수 있습니다. 메타데이터는 오디오, 비디오 데이터 등 다른 데이터에 대한 정보를 제공하는 데이터입니다. 오디오 및 비디오 파일의 메타데이터에는 파일 형식, 파일 해상도, 파일 크기, 지속 시간, 비트 전송률 등이 포함됩니다. 이 메타데이터에 액세스함으로써 미디어를 보다 효율적으로 관리하고 메타데이터를 분석하여 유용한 정보를 얻을 수 있습니다. 이 기사에서는 오디오 및 비디오 파일의 메타데이터에 액세스하기 위해 Python에서 제공하는 일부 라이브러리 또는 모듈을 살펴보겠습니다. 오디오 메타데이터에 액세스 오디오 파일 메타데이터에 액세스하기 위한 일부 라이브러리는 다음과 같습니다.

Tomcat이 war 패키지를 배포한 후 접근성 문제를 해결하는 방법 Tomcat이 war 패키지를 배포한 후 접근성 문제를 해결하는 방법 Jan 13, 2024 pm 12:07 PM

Tomcat이 배포 후 war 패키지에 성공적으로 액세스할 수 없는 문제를 해결하려면 특정 코드 예제가 필요합니다. 널리 사용되는 Java 웹 서버인 Tomcat을 사용하면 개발자가 자신이 개발한 웹 애플리케이션을 배포용 war 파일로 패키징할 수 있습니다. 그러나 때로는 잘못된 구성이나 다른 이유로 인해 war 패키지에 성공적으로 액세스할 수 없는 문제가 발생할 수 있습니다. 이 기사에서는 이 딜레마를 해결하는 몇 가지 구체적인 코드 예제를 제공합니다. 1. Tomcat 서비스 확인

Windows 7에서 파일 수정 시 액세스 거부 문제를 해결하는 방법 Windows 7에서 파일 수정 시 액세스 거부 문제를 해결하는 방법 Jul 04, 2023 pm 07:01 PM

Win7에서 파일을 수정할 때 액세스 거부 문제를 해결하는 방법은 무엇입니까? 일부 시스템 파일을 수정할 때 작업을 수행할 권한이 없다는 메시지가 자주 표시됩니다. 폴더 권한을 끄거나 관리자 권한을 얻을 수 있습니다. 이러한 파일을 수정해야 하는 사용자는 다음의 자세한 튜토리얼을 살펴보시기 바랍니다. win7에서 파일을 수정할 때 액세스가 거부되는 문제에 대한 해결 방법: 1. 먼저 해당 폴더를 선택하고 위의 도구를 클릭한 다음 폴더 옵션을 선택합니다. 2. 보기 탭으로 들어갑니다. 3. 단순 파일 공유 사용을 선택 취소하고 확인합니다. 4. 그런 다음 해당 폴더를 마우스 오른쪽 버튼으로 클릭하고 속성을 클릭합니다. 5. 보안 탭으로 들어갑니다. 6. 아이콘 위치를 선택하고 고급을 클릭합니다. 7

Windows 10 Home Edition에서 공유 폴더에 액세스할 수 없는 경우 수행할 작업 Windows 10 Home Edition에서 공유 폴더에 액세스할 수 없는 경우 수행할 작업 Jan 11, 2024 pm 07:36 PM

폴더 공유는 실제로 가정이나 회사 네트워크 환경에서 매우 유용한 기능입니다. 이를 통해 다른 사용자와 폴더를 쉽게 공유할 수 있으므로 파일 전송 및 공유가 쉬워집니다. Win10 Home Edition 공유 폴더에 접근할 수 없습니다. 해결 방법: 해결 방법 1: 네트워크 연결 및 사용자 권한 확인 Win10 공유 폴더를 사용하려면 먼저 네트워크 연결 및 사용자 권한이 정상적인지 확인해야 합니다. 네트워크 연결에 문제가 있거나 사용자에게 공유 폴더에 대한 접근 권한이 없는 경우 접근이 불가능할 수 있습니다. 1. 먼저, 컴퓨터와 공유 폴더가 위치한 컴퓨터가 동일한 LAN에 있고 정상적으로 통신할 수 있도록 네트워크 연결이 원활한지 확인하십시오. 2. 두 번째로 사용자 권한을 확인하여 현재 사용자에게 파일 공유 권한이 있는지 확인하세요.

PHP 개발 시 외부 리소스 액세스 및 호출을 해결하는 방법 PHP 개발 시 외부 리소스 액세스 및 호출을 해결하는 방법 Oct 08, 2023 am 11:01 AM

PHP 개발에서 외부 리소스에 액세스하고 호출하는 문제를 해결하려면 특정 코드 예제가 필요합니다. PHP 개발에서는 API 인터페이스, 타사 라이브러리 또는 기타 서버 리소스와 같은 외부 리소스에 액세스하고 호출해야 하는 상황에 자주 직면합니다. . 이러한 외부 리소스를 처리할 때 성능과 안정성을 보장하면서 안전하게 액세스하고 호출하는 방법을 고려해야 합니다. 이 문서에서는 몇 가지 일반적인 솔루션을 설명하고 해당 코드 예제를 제공합니다. 1. 컬 라이브러리를 사용하여 외부 리소스를 호출합니다. 컬은 매우 강력한 오픈 소스 라이브러리입니다.

See all articles