製作php安裝程式
來源:互聯網
上載者:User
先建立兩個php檔案 一個是install.php 另一個是config.php 其中 config.php為空白的檔案
install.php 內容如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>無標題文檔</title> </head>
<body> <?php $files="config.php"; if(!is_writable($files)) // is_writable() 檢查檔案是否可寫,用來判斷檔案許可權 { echo "不可寫"; }else{ echo "可寫"; } if(isset($_POST['install'])) { $config_str="<?php"; $config_str.="\n"; $config_str.='$mysql_host ="'.$_POST[localhost].'";'; $config_str.="\n"; $config_str.='$mysql_user ="'.$_POST[username].'";'; $config_str.="\n"; $config_str.='$mysql_pass ="'.$_POST[password].'";'; $config_str.="\n"; $config_str.='$mysql_dbname ="'.$_POST[mysql_db].'";'; $config_str.="\n"; $config_str.='$mysql_table ="'.$_POST[table].'";'; $config_str.="\n"; $config_str.="?>"; $ff=fopen($files,"w+"); // 檔案操作 開啟一個檔案或建立 fwrite($ff,$config_str); // 檔案操作 寫入內容到檔案 include_once("config.php"); if(!@$link=mysql_connect($mysql_host,$mysql_user,$mysql_pass)) // 判斷串連資料庫是否成功 { echo "串連資料庫失敗。上一頁<a href=install.php>上一頁</a>"; }else{ mysql_query("CREATE DATABASE `$mysql_dbname`"); // 建立資料庫 mysql_select_db($mysql_dbname); $sql_query[]="CREATE TABLE `$mysql_dbname`.`".$mysql_table."qqq` ( `id` INT( 10 ) NOT NULL AUTO_INCREMENT , `aaa` VARCHAR( 100 ) NOT NULL , `xxx` VARCHAR( 100 ) NOT NULL , PRIMARY KEY ( `id` ) ) ENGINE = INNODB"; $sql_query[]="CREATE TABLE `$mysql_dbname`.`".$mysql_table."ssss` ( `id` INT( 10 ) NOT NULL AUTO_INCREMENT , `aaa` VARCHAR( 100 ) NOT NULL , `xxx` VARCHAR( 100 ) NOT NULL , PRIMARY KEY ( `id` ) ) ENGINE = INNODB"; // 此次可以直接從自己的phpmyadmin裡面生產提前 foreach($sql_query as $val) { mysql_query($val); } echo "成功"; rename("install.php","install.lock"); // 檔案操作 給檔案改名或者此時為了提高安全性 把install.php設定檔刪除 } }
?>
<hr /> <form action="" method="post"> 主 機 名:<input type="text" name="localhost" /><br /> 用 戶 名:<input type="text" name="username" /><br /> 密 碼:<input type="text" name="password" /><br /> 資料庫名:<input type="text" name="mysql_db" /><br /> 資料首碼:<input type="text" name="table" /><br /> <button type="submit" name="install">下一步</button> </form> </body> </html> 執行之後會使config.php裡面自動生產資料庫資訊