<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ##一、實驗目的   1、掌握ThinkPHP5.0引導自動創建MySQL數據庫。 ##二、實驗內容   1、建立不同的ThinkPHP5.0不同頁面,包括使用協議、環境監測、創建數據庫等,設定創建MYSQL數據庫的基本信息。   2、引導自動創建MYSQL數據庫。 ##三、實驗步驟及過程   微信后臺需要與數據庫交互,那么首先需要建立數據庫,本次實驗我們通過ThinkPHP5來創建數據庫,省去了直接對MYSQL管理的步驟。我們借鑒并移植白俊遙的開源項目thinkphp-bjyadmin(基于ThinkPHP3的博客系統),書寫了基于ThinkPHP5.0的版本。   1、創建博客數據庫的界面   我們下載開源項目文件,并修改了入口文件為admin.PHP,系統訪問(http://127.0.0.1/ThinkPHP/admin.php),系統將顯示博客安裝向導,包括1)使用協議;2)環境監測;3)創建數據;4)安裝完成。圖示如下所示。    ![](https://box.kancloud.cn/017329931c71b499995844630778f6c7_543x221.jpg)    ![](https://box.kancloud.cn/eb7c2763653a9ed55b52b19878d524b4_545x311.jpg)   ![](https://box.kancloud.cn/238d167107465eeb50bef64fdb4684df_545x236.jpg)   ![](https://box.kancloud.cn/b76d50e550f2752ac57553982a4590f5_553x101.jpg)   2、關鍵代碼解析   admin.php為入口文件,即通過(http://127.0.0.1/ThinkPHP/admin.php)訪問網站。   1)admin.php文件   在admin.php文件中,主要完成數據庫是否安裝,這是通過檢測/public/install/install.lock文件是否存在,如果存在,則說明已經安裝成功,否則將進入引導安裝頁面,進入public/install/index.php文件,admin.php具體核心代碼如下所示。 ~~~ // 檢測是否是新安裝 if(file_exists("./Public/install") && !file_exists("./Public/install/install.lock")){ // 組裝安裝url $url=$_SERVER['HTTP_HOST'].trim($_SERVER['SCRIPT_NAME'],'admin.php').'public/install/index.php'; header("Location:http://$url"); die; } ~~~   2)public/install/index.php文件   該文件檢測當前目錄下是否有install.lock文件,如果沒有這個文件,則進入安裝引導頁面;否則,提示已經安裝過數據庫,如果要重新安裝,則需要刪除/public/install/install.lock文件。   在后續的同意協議頁面、監測環境頁面、創建數據庫頁面,是通過$_GET()方法得到信息,然后進入相關的頁面,即agreement.html、test.html、create.html和success.html文件。在create.html頁面中,設置DB_HOST、DB_PORT、DB_USER和DB_PWD,通過post方法向public/install/index.php發送信息。public/install/index.php文件如下所示。 ~~~ <?php /** * 安裝向導 */ header('Content-type:text/html;charset=utf-8'); // 檢測是否安裝過 if (file_exists('./install.lock')) { echo '你已經安裝過該系統,重新安裝需要先刪除./Public/install/install.lock 文件'; die; } // 同意協議頁面 if(@!isset($_GET['c']) || @$_GET['c']=='agreement'){ require './agreement.html'; } // 檢測環境頁面 if(@$_GET['c']=='test'){ require './test.html'; } // 創建數據庫頁面 if(@$_GET['c']=='create'){ require './create.html'; } // 安裝成功頁面 if(@$_GET['c']=='success'){ // 判斷是否為post if($_SERVER['REQUEST_METHOD']=='POST'){ $data=$_POST; // 連接數據庫 $link=@new mysqli("{$data['DB_HOST']}:{$data['DB_PORT']}",$data['DB_USER'],$data['DB_PWD']); // 獲取錯誤信息 $error=$link->connect_error; if (!is_null($error)) { // 轉義防止和alert中的引號沖突 $error=addslashes($error); die("<script>alert('數據庫鏈接失敗:$error');history.go(-1)</script>"); } // 設置字符集 $link->query("SET NAMES 'utf8'"); $link->server_info>5.0 or die("<script>alert('請將您的mysql升級到5.0以上');history.go(-1)</script>"); // 創建數據庫并選中 if(!$link->select_db($data['DB_NAME'])){ $create_sql='CREATE DATABASE IF NOT EXISTS '.$data['DB_NAME'].' DEFAULT CHARACTER SET utf8;'; $link->query($create_sql) or die('創建數據庫失敗'); $link->select_db($data['DB_NAME']); } // 導入sql數據并創建表 $bjyblog_str=file_get_contents('./bjyblog.sql'); $sql_array=preg_split("/;[\r\n]+/", str_replace('bjy_',$data['DB_PREFIX'],$bjyblog_str)); foreach ($sql_array as $k => $v) { if (!empty($v)) { $link->query($v); } } $link->close(); $db_str=<<<php <?php return array( //*************************************數據庫設置************************************* 'DB_TYPE' => 'mysqli', // 數據庫類型 'DB_HOST' => '{$data['DB_HOST']}', // 服務器地址 'DB_NAME' => '{$data['DB_NAME']}', // 數據庫名 'DB_USER' => '{$data['DB_USER']}', // 用戶名 'DB_PWD' => '{$data['DB_PWD']}', // 密碼 'DB_PORT' => '{$data['DB_PORT']}', // 端口 'DB_PREFIX' => '{$data['DB_PREFIX']}', // 數據庫表前綴 ); php; // 創建數據庫鏈接配置文件 file_put_contents('../../Application/Common/Conf/db.php', $db_str); @touch('./install.lock'); require './success.html'; } } ~~~ ##四、技術服務   1、如果有疑問或者需要幫助,請加入QQ群(群名稱:豆豆咨詢,群號:625686304);或者公眾號douAsk,公眾號名稱為“豆豆咨詢”。掃描以下二維碼,關注“豆豆咨詢”。 ![](https://box.kancloud.cn/541e0b698446c38ba398b183c361fe0d_430x430.jpg)   技術QQ群名稱:豆豆咨詢,群號:625686304   微信公眾號名稱:豆豆咨詢,微信公眾號:douAsk ###彩蛋號:1207(在公眾號里輸入彩蛋號即可得到源碼)。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看