📄 install.php
字号:
<?php
require_once("global.php");
$Aname || $Aname='视频系统';
$keyword='mv'; //关键字
$Mpre='mv_'; //数据表前缀
$type=0; //系统类型
$id='3'; //默认给予ID
if( $_GET[job] == 1 )
{
unlink("install.php");
unlink("data.sql");
header("location:./");
exit;
}
if(!is_writable('php168')){
showerr("php168目录不可写,请改此目录与目录下的文件属性为0777");
}
if(!is_dir('cache'))
{
mkdir('cache');
chmod('cache',0777);
}
if(!is_writable('cache')){
showerr("cache目录不可写,请改此目录与目录下的文件属性为0777");
}
if(!$job)
{
print<<<EOT
<html>
<head>
<title>PHP168安装程序</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<style type="text/css">
<!--
td{font-size: 12px;}
-->
</style>
</head>
<body bgcolor="#FFFFFF" text="#000000">
<table width="40%" border="0" cellspacing="1" cellpadding="3" align="center" bgcolor="#006666">
<form name="form1" method="post" action="">
<tr align="center" bgcolor="#006666">
<td colspan="2"><font color="#FFFFFF"><b>PHP168安装程序</b></font></td>
</tr>
<tr bgcolor="#FFFFFF">
<td width="29%">当前系统名称:</td>
<td width="71%" bgcolor="#FFFFFF">
<input type="text" name="Aname" value="$Aname">
</td>
</tr>
<tr bgcolor="#FFFFFF">
<td width="29%">当前系统后台目录:</td>
<td width="71%" bgcolor="#FFFFFF">
<input type="text" name="Aadmindir" value="$Aadmindir">
<br>
如果没修改过后台目录或是admin的话,请留空</td>
</tr>
<tr bgcolor="#FFFFFF">
<td width="29%">二级域名:(一般留空)</td>
<td width="71%" bgcolor="#FFFFFF">
<input type="text" name="Adomain" value="$Adomain" size="50">
</td>
</tr>
<tr bgcolor="#FFFFFF">
<td width="29%">是否替换旧系统</td>
<td width="71%" bgcolor="#FFFFFF">
<input type="checkbox" name="RE" value="1">
选择的话,如果旧系统存在,则强行替换,一般不选择</td>
</tr>
<tr bgcolor="#FFFFFF">
<td width="29%"> </td>
<td width="71%">
<input type="submit" name="Submit" value="开始安装">
<input type="hidden" name="job" value="2">
</td>
</tr>
</form>
</table>
</body>
</html>
EOT;
exit;
}
if($Aadmindir&&!is_dir($Aadmindir)){
showerr("后台目录不存在$Aadmindir");
}elseif(!is_dir("admin")){
showerr("admin后台目录不存在");
}
if( is_table("{$pre}{$Mpre}config")&&!$RE )
{
showerr("请不要重复安装,要替换旧系统,请返回选择替换旧系统");
}
if( !is_table("{$pre}module") )
{
$SQL="CREATE TABLE `{$pre}module` (
`id` mediumint(5) NOT NULL auto_increment,
`type` tinyint(1) NOT NULL default '0',
`name` varchar(30) NOT NULL default '',
`pre` varchar(20) NOT NULL default '',
`dirname` varchar(30) NOT NULL default '',
`domain` varchar(100) NOT NULL default '',
`admindir` varchar(20) NOT NULL default '',
`unite_admin` tinyint(1) NOT NULL default '0',
`config` text NOT NULL,
`list` mediumint(5) NOT NULL default '0',
`admingroup` varchar(150) NOT NULL default '',
`adminmember` text NOT NULL,
PRIMARY KEY (`id`)
) TYPE=MyISAM AUTO_INCREMENT=30 ";
if($dbcharset && mysql_get_server_info() > '4.0')
{
$sql=str_replace("TYPE=MyISAM","TYPE=MyISAM DEFAULT CHARSET=$dbcharset ",$sql);
}
$db->query($SQL);
}
$Mid='';
@extract($db->get_one("SELECT id AS Mid FROM `{$pre}module` WHERE pre='$keyword' "));
if($Mid&&!$RE){
showerr("请不要重复安装,要安装请先在整站后台系统配置那里删除此系统关键字$keyword");
}elseif($Mid&&$RE){
$db->query("DELETE FROM `{$pre}module` WHERE pre='$keyword'");
}
@extract($db->get_one("SELECT id AS Mid FROM `{$pre}module` WHERE id='$id' "));
if($Mid){
$id='';
}
update_sql("data.sql");
$dirname = preg_replace("/(.*)\/([^\/]+)/is","\\2",str_replace("\\","/",dirname(__FILE__)));
$db->query("INSERT INTO `{$pre}module` (`id`, `type`, `name`, `pre`, `dirname`, `domain`, `admindir`, `unite_admin`, `config`) VALUES ('$id', $type, '$Aname', '$keyword', '$dirname', '$Adomain', '$Aadmindir', 1, '')");
@extract($db->get_one("SELECT id AS Mid FROM `{$pre}module` WHERE pre='$keyword' "));
$db->query("DELETE FROM `{$pre}{$Mpre}config` WHERE c_key='module_id'");
$db->query("DELETE FROM `{$pre}{$Mpre}config` WHERE c_key='module_pre'");
$db->query("INSERT INTO `{$pre}{$Mpre}config` ( `c_key` , `c_value` , `c_descrip` ) VALUES ('module_id', '$Mid', '')");
$db->query("INSERT INTO `{$pre}{$Mpre}config` ( `c_key` , `c_value` , `c_descrip` ) VALUES ('module_pre', '$Mpre', '')");
$writefile="<?php\r\n";
$query = $db->query("SELECT * FROM `{$pre}{$Mpre}config`");
while($rs = $db->fetch_array($query)){
$rs[c_value]=addslashes($rs[c_value]);
$writefile.="\$webdb['$rs[c_key]']='$rs[c_value]';\r\n";
}
write_file("php168/config.php",$writefile);
$show="<?php\r\n";
$query = $db->query("SELECT * FROM {$pre}module ORDER BY list DESC");
while($rs = $db->fetch_array($query))
{
$rs[name]=addslashes($rs[name]);
$show.="
\$ModuleDB['{$rs[pre]}']=array('name'=>'$rs[name]',
'dirname'=>'$rs[dirname]',
'domain'=>'$rs[domain]',
'admindir'=>'$rs[admindir]',
'type'=>'$rs[type]',
'id'=>'$rs[id]'
);
";
}
write_file(PHP168_PATH."php168/module.php",$show);
if(is_writable("install.php")){
echo '<meta http-equiv="Content-Type" content="text/html; charset=gb2312">';
echo "<A HREF='?job=1'>安装完毕,点击进入主页,并同时删除此升级文件</A>";
}else{
echo '<meta http-equiv="Content-Type" content="text/html; charset=gb2312">';
echo "<A HREF='./'>升级完毕,请手工删除此文件update2.php</A>";
}
function update_sql($file)
{
global $db,$pre,$dbcharset;
$readfiles=read_file($file);
$detail=explode("\n",$readfiles);
$count=count($detail);
for($j=0;$j<$count;$j++){
$ck=substr($detail[$j],0,4);
if( ereg("#",$ck)||ereg("--",$ck) ){
continue;
}
$array[]=$detail[$j];
}
$read=implode("\n",$array);
$sql=str_replace("\r",'',$read);
$detail=explode(";\n",$sql);
$count=count($detail);
for($i=0;$i<$count;$i++){
$sql=str_replace("\r",'',$detail[$i]);
$sql=str_replace("\n",'',$sql);
$sql=trim($sql);
if($sql){
$sql=str_replace("p8_",$pre,$sql);
if($dbcharset && mysql_get_server_info() >= '4.1' ){
$sql=str_replace("TYPE=MyISAM","TYPE=MyISAM DEFAULT CHARSET=$dbcharset ",$sql);
}
$db->query($sql);
$check++;
}
}
return $check;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -