⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 install.php

📁 程序安装简便容易
💻 PHP
字号:
<?php
error_reporting  (E_ERROR | E_WARNING | E_PARSE);

@set_time_limit(0);
set_magic_quotes_runtime(0);
if(!@ini_get('register_globals') || !get_magic_quotes_gpc()) {
	@extract($_POST,EXTR_SKIP);
	@extract($_GET,EXTR_SKIP);
}
!$_POST && $_POST=array();
!$_GET && $_GET=array();
foreach($_POST as $_key=>$_value) {
	!ereg("^\_",$_key) && $$_key=$_POST[$_key];
}
foreach($_GET as $_key=>$_value) {
	!ereg("^\_",$_key) && $$_key=$_GET[$_key];
}
define('D_P',__FILE__ ? dirname(__FILE__).'/' : './');
define('R_P',D_P);
define('DUOXUN','OK');
include(R_P.'install_lang.php');
$basename="install.php";
if(!$step){
	if(is_writable(R_P.'template/duoxun/admin') && is_writable(R_P.'template/duoxun')) {
		$duoxun_licence=readover(R_P.'licence.txt');
		$duoxun_licence=str_replace('  ','&nbsp; ',nl2br($duoxun_licence));
		include(R_P.'install_htm.php');exit;
	} else {
		die('<b>Before install ,you must set dir( template/duoxun/admin && template/duoxun )
writeable mode(777)</b><br><br>
		<b>You Can Get Help In</b>:<br><a target=_blank href=http://www.duoxun.com><b>
http://www.duoxun.com</b></a>');
	}
} elseif($step==2) {
	$content=readover(R_P."/install_duoxun.sql");
	$content=preg_replace("/{#(.+?)}/eis",'$lang[\\1]',$content);
	writeover(R_P."include/duoxun.sql",$content);

	include(R_P.'include/config.php');
	$check=1;
	$correct='......<font color="#0000EE">OK</font>';
	$incorrect=$lang['777_test'];
	$uncorrect=$lang['no_file'];
	$d_check=array(
		'include/config.php',
		'cache',
		'upload'
	);
	if($fp=@fopen(R_P.'test.txt',"wb")) {
		$state=$correct;
		fclose($fp);
	} else {
		$state=$lang['777_test'].$lang['no_write'];
	}
	$count=count($d_check);
	for($i=0;$i<$count;$i++) {
		if(!file_exists($d_check[$i])) {
			$d_check[$i].=$uncorrect;$check=0;
		} elseif(is_writable(R_P.$d_check[$i])) {
			$d_check[$i].=$correct;
		} else {
			$d_check[$i].=$incorrect;$check=0;
		}
	}
	$check && @unlink(R_P.'test.txt');
	include('install_htm.php');exit;
} elseif($step==3) {
	$check=1;
	if(!$password || $password != $password_check) {
		$check=0;
	}
	if($check) {
		$showpwd=$password;
		$writepassword=md5($password);
		$writetofile=
"<?php
/**
* 以下变量需根据您的服务器说明档修改
*/
\$dbhost = '$SERVER';	   // 数据库服务器
\$dbuser = '$SQLUSER';	   // 数据库用户名
\$dbpw = '$SQLPASSWORD';   // 数据库密码
\$dbname = '$SQLNAME';	   // 数据库名
\$DUOXUN = '$SQLZUI';	   //表区分符
\$pconnect = 0;	           //是否持久连接

/**
* 网站创始人,拥有网站所有权限
*/
\$manager='$INSTALL_NAME';	//管理员用户名
\$manager_pwd='$writepassword';	//管理员密码

".'?>';
		writeover(R_P.'include/config.php',$writetofile);
	}

	include(R_P.'include/conn.php');
	connect();
	if(!@mysql_select_db($dbname)) {
		mysql_query("CREATE DATABASE $dbname");
		mysql_error() && exit($lang['no_database']);
	}
	mysql_select_db($dbname);
	$query=query("SHOW TABLES LIKE '".$DUOXUN."members'");
	while($TABLE=fetch_array($query,MYSQL_NUM)) {
		$D_exists=$TABLE[0]==$DUOXUN.'members' ? 1 : 0;
	}
	$lang['have_install']=str_replace('$dbname',$dbname,$lang['have_install']);
	include(R_P.'install_htm.php');exit;
} elseif($step==4){
	include(R_P.'include/conn.php');
	
	connect();
	if(!@mysql_select_db($dbname)) {
		mysql_query("CREATE DATABASE $dbname");
		mysql_error() && exit($lang['no_database']);
	}
	mysql_select_db($dbname);
	$sql=readover(R_P."include/duoxun.sql");
	creat_table($sql);
	$timestamp=time();
	$writepwd=md5($password);
	update("INSERT INTO duoxun_members (username,password,email,groupid,gender,regdate) VALUES ('$manager','$manager_pwd','$adminemail','1','','$timestamp')");
	if(!($REQUEST_URI=$_SERVER['REQUEST_URI'])){
		$REQUEST_URI=$_SERVER['PHP_SELF'] ? $_SERVER['PHP_SELF'] : $_SERVER['SCRIPT_NAME'];
	}
	$url='http://'.$_SERVER['HTTP_HOST'].substr($REQUEST_URI,0,strrpos($REQUEST_URI,'/'));
	include('install_htm.php');
	$timestamp=base64_encode(time());
	if(getenv('HTTP_CLIENT_IP') && strcasecmp(getenv('HTTP_CLIENT_IP'), 'unknown')) {
		$onlineip = getenv('HTTP_CLIENT_IP');
	} elseif(getenv('HTTP_X_FORWARDED_FOR') && strcasecmp(getenv('HTTP_X_FORWARDED_FOR'), 'unknown')) {
		$onlineip = getenv('HTTP_X_FORWARDED_FOR');
	} elseif(getenv('REMOTE_ADDR') && strcasecmp(getenv('REMOTE_ADDR'), 'unknown')) {
		$onlineip = getenv('REMOTE_ADDR');
	} elseif(isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], 'unknown')) {
		$onlineip = $_SERVER['REMOTE_ADDR'];
	}
	$onlineip=preg_replace("/^([\d\.]+).*/", "\\1", $onlineip);
	$url_l=base64_encode($url);
	$onlineip=base64_encode($onlineip);
	echo "<script language=\"JavaScript\" src=\"http://www.duoxun.com/stats.php?url=$url_l&ip=$onlineip&time=$timestamp\"></script>";
	exit;
} elseif($step==5){
	include(R_P.'include/conn.php');
	
	connect();
        mysql_select_db($dbname);
	$hash=confuse();
	query("UPDATE duoxun_settings SET value='$hash' WHERE name='hash'");
	query("UPDATE duoxun_settings SET value='$url' WHERE name='url'");
	settings();
	links();
	templates();
	if(!is_writeable(R_P.'install.php')){
		$unlinkerror='<tr><td align=left align=middle colspan=2>&nbsp;&nbsp;&nbsp;&nbsp;'.$lang['del_install'].'</td></tr>';
	}
	include(R_P.'install_htm.php');
	if(@unlink(R_P.'install.php')){
		@unlink(R_P.'install_htm.php');
		@unlink(R_P."include/duoxun.sql");
		@unlink(R_P.'install_lang.php');
		@unlink(R_P."install_duoxun.sql");
	}
	exit;
}

function creat_table($sql){
	global $installinfo,$DUOXUN,$lang;
	
	$sqlarray=array();
	$sql=str_replace("\r",'',$sql);
	$sqlarray=explode(";\n",$sql);
	foreach($sqlarray as $query){
		$query=trim($query);
		if($query){
			$query=trim(str_replace("\n",'',$query));
			query($query);
			if(strpos($query,'CREATE TABLE') !==false) {
				$name=substr($query,13,strpos($query,'(')-13);
				$c_name=str_replace('duoxun_',$DUOXUN,$name);
				$installinfo.='<font color="#0000EE">'.$lang['creat_table'].'</font>'.$c_name.' ... <font
							color="#0000EE">'.$lang['success'].'</font><br>';
			}
		}
	}
}

function settings() {
	connect();
	select_db();
	$query=query("SELECT * FROM duoxun_settings");
	$settings="<?php\r\n\$set=array(\r\n";
	while(@extract(db_cv(fetch_array($query)))) {
		$name=stripslashes(key_cv($name));
		$settings.="\t'$name'=>'$value',\r\n";
	}
	$settings.=");\r\n?>";
	writeover('cache/set.php',$settings);
}

function links() {
	connect();
	select_db();
	$query=query("SELECT * 	FROM duoxun_links ORDER BY displayorder");
	while(@extract(db_cv(fetch_array($query)))) {
		if($logo) {
			$link.="<a href=\"$url\" target=_blank><img src=\"$logo\" alt=\"$descrip\" width=\"88\" height=\"31\"></a>";
		} else {
			$link2.="<a href=\"$url\" target=\"_blank\" title=\"$descrip\">[$name]</a>";
		}
	}
	$link2&&$link=$link2.'<br>'.$link;
	$cache="<?php\r\n\$link='$link';\r\n?>";
	writeover('cache/link.php',$cache);
}

function templates() {
	require_once(R_P.'cache/set.php');
	connect();
	select_db();
	$query=query("SELECT * FROM duoxun_templates WHERE templateid={$set['templateid']}");
	while(@extract(db_cv(fetch_array($query)))) {
		$templatecontent="<?php
\$templateid='$templateid';
\$name='$name';
\$charset='$charset';
\$tplpath='$tplpath';
\$imgpath='$imgpath';
\?>";
	writeover(R_P.'cache/template.php',str_replace("\?>","?>",$templatecontent));
	}
}	

function db_cv($array) {
	if(is_array($array)) {
		foreach($array as $key=>$value) {
			$array[$key]=str_replace(array("\\","'"),array("\\\\","\'"),$value);
		}
	}
	return $array;
}

function key_cv($key) {
	$key=str_replace(array(';','\\','/','(',')','$'),'',$key);
	return $key;
}

function readover($filename,$method="rb") {
	if($handle=@fopen($filename,$method)) {
		flock($handle,LOCK_SH);
		$filedata=@fread($handle,filesize($filename));
		fclose($handle);
	}
	return $filedata;
}

function confuse(){
	$rand='0123%^&*45ICV%^&*B6789qazw~!@#$sxedcrikolpQWER%^&*TYUNM';
	mt_srand((double)microtime() * 1000000);
	for($i=0;$i<10;$i++){
		$code.=$rand[mt_rand(0,strlen($rand))];
	}
	return $code;
}

function writeover($filename,$data,$method="rb+"){
	@touch($filename);
	if($handle=@fopen($filename,$method)){
		flock($handle,LOCK_EX);
		fputs($handle,$data);
		if($method=="rb+") ftruncate($handle,strlen($data));
		fclose($handle);
	}
}

?>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -