PHP制作程序安装<br />
/////////////////php部分///////////////////////<br />
<?php<br />
$action=$_GET["action"];<br />
if ($action=="start")<br />
{<br />
$file_name="qiaso.sql"; //要导入的SQL文件名<br />
$dbhost=$_POST["dbhost"]; //数据库主机名<br />
$dbuser=$_POST["dbuser"]; //数据库用户名<br />
$dbpass=$_POST["dbpass"]; //数据库密码<br />
$dbname=$_POST["dbname"]; //数据库名<br />
set_time_limit(0); //设置超时时间为0,表示一直执行。当php在safe mode模式下无效,此时可能会导致导入超时,此时需要分段导入<br />
$fp = @fopen($file_name, "r") or die("不能打开SQL文件 $file_name");//打开文件<br />
$conn=mysql_connect($dbhost, $dbuser, $dbpass) or die("不能连接数据库 $dbhost");//连接数据库<br />
mysql_query("set names 'utf-8'",$conn); <br />
$sql="DROP DATABASE $dbname"; //如果数据库存在,会删除.<br />
mysql_query($sql);<br />
$sql="CREATE DATABASE $dbname"; //如果资料表存在,也会删除... 所以安全问题要考虑一下.<br />
mysql_query($sql);<br />
<br />
mysql_select_db($dbname) or die ("不能打开数据库 $dbname");//打开数据库 <br />
mysql_query("SET NAMES 'GBK'");<br />
while($SQL=GetNextSQL()){<br />
if (mysql_query($SQL)){<br />
<br />
}<br />
}<br />
//echo "导入完成"; <br />
//echo "</div>";<br />
header("location:install.php?action=finish");<br />
fclose($fp) or die("Can't close file $file_name");//关闭文件<br />
mysql_close(); <br />
<br />
//开始写入Data/db_config.php<br />
$content.="<?php".chr(13).chr(10);<br />
$content.="\$dbhost = '$dbhost';".chr(13).chr(10);<br />
$content.="\$dbuser = '$dbuser';".chr(13).chr(10);<br />
$content.="\$dbpw = '$dbpass';".chr(13).chr(10);<br />
$content.="\$dbname = '$dbname';".chr(13).chr(10);<br />
$content.="\$dbcharset = 'gbk';".chr(13).chr(10);<br />
$content.="\$dbpconnect = '0';".chr(13).chr(10);<br />
$content.="?>";<br />
$fp=@fopen("include/db_config.php","w") or die("写方式打开文件失败,请检查程序目录是否为可写");//配置conn.php文件<br />
@fputs($fp,$content) or die("文件写入失败,请检查程序目录是否为可写"); <br />
@fclose($fp);<br />
//end<br />
}<br />
<br />
function GetNextSQL() {<br />
global $fp;<br />
$sql="";<br />
while ($line = @fgets($fp, 40960)) {<br />
$line = trim($line);<br />
//以下三句在高版本php中不需要<br />
$line = str_replace("\\\\","\\",$line);<br />
$line = str_replace("\'","'",$line);<br />
$line = str_replace("\\r\\n",chr(13).chr(10),$line);<br />
// $line = stripcslashes($line);<br />
if (strlen($line)>1) {<br />
if ($line[0]=="-" && $line[1]=="-") {<br />
continue;<br />
}<br />
}<br />
$sql.=$line.chr(13).chr(10);<br />
if (strlen($line)>0){<br />
if ($line[strlen($line)-1]==";"){<br />
break;<br />
}}<br />
}<br />
return $sql;<br />
}<br />
<br />
?><br />
<br />
<br />
<br />
////////////////////////////////////js检验表单数据///////////////<br />
<script language="javascript"><br />
function checkform()<br />
{<br />
if(installform.dbhost.value=="")<br />
{<br />
alert("不能为空");<br />
installform.dbhost.focus();<br />
return false;<br />
}<br />
<br />
if(installform.dbuser.value=="")<br />
{<br />
alert("不能为空");<br />
installform.dbuser.focus();<br />
return false;<br />
}<br />
<br />
if(installform.dbpass.value=="")<br />
{<br />
alert("不能为空");<br />
installform.dbpass.focus();<br />
return false;<br />
}<br />
<br />
if(installform.dbname.value=="")<br />
{<br />
alert("不能为空");<br />
installform.dbname.focus();<br />
return false;<br />
}<br />
<br />
}<br />
</script><br />
<br />
//////////////////////////////////////html///////////////////<br />
<?php<br />
if($action=="finish")<br />
{<br />
?><br />
<div class="tips">已完成安装,请删除目录的install.php文件!<br><br />
<a href="index.html">网站首页</a>&nbsp;&nbsp;<a href="admin/">后台管理</a><br />
</div><br />
<?php<br />
}<br />
else<br />
{<br />
?><br />
<form name="installform" method="post" action="?action=start" onsubmit="return checkform();"><br />
<table width="600" border="0" align="center" cellpadding="3" cellspacing="1" class="table"><br />
<tr><br />
<td width="120">数据库地址:</td><br />
<td><input name="dbhost" type="text" id="dbhost" value="localhost"></td><br />
</tr><br />
<tr><br />
<td>用户名:</td><br />
<td><input name="dbuser" type="text" value="root"></td><br />
</tr><br />
<tr><br />
<td>密 码:</td><br />
<td><input type="text" name="dbpass"></td><br />
</tr><br />
<tr><br />
<td>数据库名称:</td><br />
<td><input type="text" name="dbname"></td><br />
</tr><br />
<tr><br />
<td>&nbsp;</td><br />
<td><input type="submit" name="Submit" value="提交"></td><br />
</tr><br />
</table><br />
</form><br />
<?php<br />
}<br />
?>