Heim Backend-Entwicklung PHP-Tutorial 国外好东西真的多,现在贴上一个访问ACCESS的类!_PHP

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

Jun 01, 2016 pm 12:35 PM
Ding ausländisch Jetzt 访问

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;

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Repo: Wie man Teamkollegen wiederbelebt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Abenteuer: Wie man riesige Samen bekommt
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Detaillierte Einführung in Wapi Detaillierte Einführung in Wapi Jan 07, 2024 pm 09:14 PM

Benutzer haben möglicherweise den Begriff Wapi bei der Nutzung des Internets gesehen, aber einige Leute wissen definitiv nicht, was Wapi ist. Im Folgenden finden Sie eine detaillierte Einführung, um denjenigen, die es nicht wissen, das Verständnis zu erleichtern. Was ist Wapi: Antwort: Wapi ist die Infrastruktur für WLAN-Authentifizierung und Vertraulichkeit. Dies entspricht Funktionen wie Infrarot und Bluetooth, die im Allgemeinen in der Nähe von Orten wie Bürogebäuden verfügbar sind. Im Grunde sind sie Eigentum einer kleinen Abteilung, sodass der Umfang dieser Funktion nur wenige Kilometer beträgt. Verwandte Einführung in Wapi: 1. Wapi ist ein Übertragungsprotokoll im WLAN. 2. Diese Technologie kann die Probleme der Schmalbandkommunikation vermeiden und eine bessere Kommunikation ermöglichen. 3. Zur Übertragung des Signals ist nur ein Code erforderlich.

Wie greife ich in Java auf die JSON-Felder, Arrays und verschachtelten Objekte von JSONNode zu? Wie greife ich in Java auf die JSON-Felder, Arrays und verschachtelten Objekte von JSONNode zu? Aug 30, 2023 pm 11:05 PM

Ein JsonNode ist Jacksons JSON-Baummodell, das JSON in JsonNode-Instanzen einlesen und JsonNode in JSON schreiben kann. Wir können Jackson verwenden, um JSON in einen JsonNode einzulesen, indem wir eine ObjectMapper-Instanz erstellen und die Methode readValue() aufrufen. Mit der Methode get() der Klasse JsonNode können wir auf Felder, Arrays oder verschachtelte Objekte zugreifen. Wir können die Methode asText() verwenden, um eine gültige Zeichenfolgendarstellung zurückzugeben und den Wert des Knotens mithilfe der Methode asInt() der Klasse JsonNode in Javaint umzuwandeln. Im folgenden Beispiel können wir auf Json zugreifen

iOS 17: So steuern Sie, welche Apps auf Ihre Fotos zugreifen können iOS 17: So steuern Sie, welche Apps auf Ihre Fotos zugreifen können Sep 13, 2023 pm 09:09 PM

In iOS17 hat Apple mehr Kontrolle darüber, was Apps auf Fotos sehen können. Lesen Sie weiter, um zu erfahren, wie Sie den App-Zugriff pro App verwalten. In iOS können Sie mit der In-App-Fotoauswahl von Apple bestimmte Fotos mit der App teilen, während der Rest Ihrer Fotobibliothek privat bleibt. Apps müssen Zugriff auf Ihre gesamte Fotobibliothek anfordern, und Sie können Apps optional den folgenden Zugriff gewähren: Eingeschränkter Zugriff – Apps können nur Bilder sehen, die Sie auswählen können. Dies können Sie jederzeit in der App oder über Einstellungen > Klicken Sie auf „Datenschutz und Sicherheit“ > „Fotos“, um ausgewählte Bilder anzuzeigen. Voller Zugriff – App kann Fotos anzeigen

Greifen Sie mit Python auf Metadaten verschiedener Audio- und Videodateien zu Greifen Sie mit Python auf Metadaten verschiedener Audio- und Videodateien zu Sep 05, 2023 am 11:41 AM

Mit Mutagen und dem eyeD3-Modul in Python können wir auf die Metadaten von Audiodateien zugreifen. Für Videometadaten können wir Filme und die OpenCV-Bibliothek in Python verwenden. Metadaten sind Daten, die Informationen über andere Daten bereitstellen, beispielsweise Audio- und Videodaten. Zu den Metadaten für Audio- und Videodateien gehören Dateiformat, Dateiauflösung, Dateigröße, Dauer, Bitrate usw. Durch den Zugriff auf diese Metadaten können wir Medien effizienter verwalten und die Metadaten analysieren, um nützliche Informationen zu erhalten. In diesem Artikel werfen wir einen Blick auf einige der von Python bereitgestellten Bibliotheken oder Module für den Zugriff auf Metadaten von Audio- und Videodateien. Auf Audio-Metadaten zugreifen Einige Bibliotheken für den Zugriff auf Audiodatei-Metadaten nutzen Mutagenese

So lösen Sie das Problem der Unzugänglichkeit, nachdem Tomcat das Kriegspaket bereitgestellt hat So lösen Sie das Problem der Unzugänglichkeit, nachdem Tomcat das Kriegspaket bereitgestellt hat Jan 13, 2024 pm 12:07 PM

Um das Problem zu lösen, dass Tomcat nach der Bereitstellung nicht erfolgreich auf das Kriegspaket zugreifen kann, sind bestimmte Codebeispiele erforderlich. Als weit verbreiteter Java-Webserver ermöglicht Tomcat Entwicklern, ihre eigenen entwickelten Webanwendungen zur Bereitstellung in Kriegsdateien zu packen. Manchmal kann es jedoch vorkommen, dass wir nach der Bereitstellung des Kriegspakets nicht erfolgreich darauf zugreifen können. Dies kann an einer falschen Konfiguration oder aus anderen Gründen liegen. In diesem Artikel stellen wir einige konkrete Codebeispiele bereit, die dieses Dilemma angehen. 1. Überprüfen Sie den Tomcat-Dienst

So lösen Sie das Problem des verweigerten Zugriffs beim Ändern von Dateien in Windows 7 So lösen Sie das Problem des verweigerten Zugriffs beim Ändern von Dateien in Windows 7 Jul 04, 2023 pm 07:01 PM

Wie kann das Problem des verweigerten Zugriffs beim Ändern von Dateien in Win7 gelöst werden? Wenn wir einige Systemdateien ändern, werden wir häufig gefragt, dass wir keine Berechtigung zum Ausführen des Vorgangs haben. Wir können die Ordnerberechtigungen deaktivieren oder Administratorrechte erhalten. Für Benutzer, die solche Dateien ändern müssen, werfen wir einen Blick auf die folgenden spezifischen Tutorials. Lösung für das Problem, dass der Zugriff beim Ändern von Dateien in Windows 7 verweigert wird: 1. Wählen Sie zunächst den entsprechenden Ordner aus, klicken Sie auf das Tool oben und wählen Sie die Ordneroption. 2. Öffnen Sie die Registerkarte „Ansicht“. 3. Deaktivieren Sie „Einfache Dateifreigabe verwenden“ und bestätigen Sie. 4. Klicken Sie dann mit der rechten Maustaste auf den entsprechenden Ordner und klicken Sie auf Eigenschaften. 5. Öffnen Sie die Registerkarte „Sicherheit“. 6. Wählen Sie die Symbolposition und klicken Sie auf Erweitert. 7

Was tun, wenn in Windows 10 Home Edition kein Zugriff auf freigegebene Ordner möglich ist? Was tun, wenn in Windows 10 Home Edition kein Zugriff auf freigegebene Ordner möglich ist? Jan 11, 2024 pm 07:36 PM

Die Freigabe von Ordnern ist in der Tat eine äußerst nützliche Funktion in einer Heim- oder Geschäftsnetzwerkumgebung. Sie ermöglicht die einfache Freigabe von Ordnern für andere Benutzer und erleichtert so die Dateiübertragung und -freigabe. Auf den freigegebenen Win10 Home Edition-Ordner kann nicht zugegriffen werden. Lösung: Lösung 1: Überprüfen Sie die Netzwerkverbindung und Benutzerberechtigungen. Wenn Sie versuchen, den freigegebenen Win10-Ordner zu verwenden, müssen wir zunächst bestätigen, ob die Netzwerkverbindung und die Benutzerberechtigungen normal sind. Wenn ein Problem mit der Netzwerkverbindung vorliegt oder der Benutzer nicht über die Berechtigung zum Zugriff auf den freigegebenen Ordner verfügt, kann dies dazu führen, dass der Zugriff nicht möglich ist. 1. Stellen Sie zunächst sicher, dass die Netzwerkverbindung reibungslos funktioniert, damit sich der Computer und der Computer, auf dem sich der freigegebene Ordner befindet, im selben LAN befinden und normal kommunizieren können. 2. Überprüfen Sie anschließend die Benutzerberechtigungen, um sicherzustellen, dass der aktuelle Benutzer die Berechtigung zum Teilen von Dateien hat.

So lösen Sie externe Ressourcenzugriffe und Aufrufe in der PHP-Entwicklung So lösen Sie externe Ressourcenzugriffe und Aufrufe in der PHP-Entwicklung Oct 08, 2023 am 11:01 AM

Um das Problem des Zugriffs und Aufrufs externer Ressourcen in der PHP-Entwicklung zu lösen, sind bestimmte Codebeispiele erforderlich. Bei der PHP-Entwicklung stoßen wir häufig auf Situationen, in denen wir auf externe Ressourcen zugreifen und diese aufrufen müssen, z. B. auf API-Schnittstellen, Bibliotheken von Drittanbietern oder andere Serverressourcen . Beim Umgang mit diesen externen Ressourcen müssen wir darüber nachdenken, wie wir sicher darauf zugreifen und Anrufe tätigen und gleichzeitig Leistung und Zuverlässigkeit gewährleisten können. Dieser Artikel beschreibt mehrere gängige Lösungen und stellt entsprechende Codebeispiele bereit. 1. Verwenden Sie die Curl-Bibliothek, um externe Ressourcen aufzurufen. Curl ist eine sehr leistungsstarke Open-Source-Bibliothek.

See all articles