ThinkPHP3.2寫一個簡單的install
PHP交流群:294088839,
Python交流群:652376983
入口檔案中:
header("Content-Type: text/html;charset=utf-8");
// 應用入口檔案
// 檢測是否是新安裝
if(file_exists("./Public/install") && !file_exists("./Public/install/install.lock")){
// 組裝安裝url
$url=$_SERVER['HTTP_HOST'].trim($_SERVER['SCRIPT_NAME'],'index.php').'Public/install/index.php';
// 使用http://域名方式訪問;避免./Public/install 路徑方式的相容性和其他出錯問題
header("Location:http://$url");
die;
}
// 檢測PHP環境
if(version_compare(PHP_VERSION,'5.3.0','<')) die('require PHP > 5.3.0 !');
// 開啟除錯模式 建議開發階段開啟 部署階段註釋或者設為false
define('APP_DEBUG',True);
// 定義應用目錄
define('APP_PATH','./Application/');
// 引入ThinkPHP入口檔案
require './ThinkPHP/ThinkPHP.php';
// 親^_^ 後面不需要任何程式碼了 就是如此簡單
install檔案中:
<?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資料並建立表
$bjyadmin_str=file_get_contents('./ll.sql');
$sql_array=preg_split("/;[\r\n]+/", str_replace('ll_',$data['DB_PREFIX'],$bjyadmin_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';
}
}
相關文章
- 簡單寫一個eventbus
- 寫一個簡單的 Facade 示例
- 一個簡單的BypassUAC編寫
- 手寫一個超簡單的VueVue
- 自己寫的簡單的一個部落格
- 編寫一個簡單的JavaScript模板引擎JavaScript
- 編寫一個簡單的智慧合約
- 寫一個簡單的 Linux Shell (C++)LinuxC++
- 編寫一個簡單的babel外掛Babel
- C++寫一個簡單的JSON解析C++JSON
- 如何寫一個簡單的分頁元件(原理)元件
- Flask之旅: 寫一個簡單的Python Web框架FlaskPythonWeb框架
- 簡單的寫一個釋出訂閱器
- 使用nodeJS寫一個簡單的小爬蟲NodeJS爬蟲
- 寫一個簡單的程式碼生成器
- 用Flutter 寫一個簡單頁面Flutter
- 用SwiftUI寫一個簡單頁面SwiftUI
- 使用Node.js寫一個簡單的api介面Node.jsAPI
- 用Java編寫一個最簡單的桌面程式Java
- 使用JavaScript手寫一個簡單的快捷鍵庫JavaScript
- 教你如何編寫第一個簡單的爬蟲爬蟲
- Python,寫一個簡單的屬於自己的『BaseEnum』類Python
- electron寫一個簡單host切換工具
- Python使用Socket寫一個簡單聊天程式Python
- Python編寫一個簡單計算器Python
- 寫了一個基於 API 的簡單圖床 AUXPIAPI圖床UX
- 寫一個簡單的Linkedlist,實現增刪改查
- jquery 手寫一個簡單浮窗的反面教材jQuery
- 用 Go 編寫一個簡單的 WebSocket 推送服務GoWeb
- 使用 Vala 編寫一個簡單的文字識別程式
- [手寫系列] 帶你實現一個簡單的PromisePromise
- Python單例的一種簡單寫法Python單例
- 簡單寫個聊天室
- 用 Material Design 寫了一個簡單的 API 測試工具Material DesignAPI
- python+flask 編寫一個簡單的登入介面例子PythonFlask
- python+flask編寫一個簡單的登入介面例子PythonFlask
- 仿寫一個簡單的微信小程式(番茄鬧鐘)微信小程式
- 教你如何寫一個簡單的折線圖控制元件控制元件
- 發一個自己寫的簡單32位遊戲保護遊戲