在公司(网络)的服务器上有很多网站,我上传网站时对其他瓦干也有同样的权限。所以就想把同事的网站荡下来学习一下。有了源代码,没有数据库什么也运行不了啊。服务器的数据库是安网站开的,每一个网站把*.sql发给服务器管理员,由管理员导入到数据库中。但是数据库账号密码不能登陆只能执行sql语句。所以我就想起来做一个简易的,类似于phpmyadmin的数据库导出功能。这样我就可以轻松的获得所有网站的数据库了。
用这个程序可以实现简单的数据导出(生成的脚本可直接在phpmyadmin执行)。进一步的功能还可以慢慢扩展。当然不要用来盗用别人机密的冬冬了。
其中解析的数据类型还不全,只是集中简单的常用类型。如果那位仁兄,发现了其他不适用的类型,请告诉我mailto:woaini4651@yahoo.com.cn。
index.php
数据库备份 cmd.php
if(isset($_POST['backupstart']))
{
$hostname = trim($_POST['hostname']);
$database = trim($_POST['database']);
$username = trim($_POST['username']);
$password = trim($_POST['password']);
$backtype = $_POST['backup_type'];
$gz = $_POST['gzipcompress'];
$link = @mysql_pconnect($hostname, $username, $password);
if(!$link)
{ //连接数据库
echo "数据库打开出错!";
exit();
}//end if
$table_list = get_table_list($link,$database);
if($table_name===false)
{ //检索数据库的表
echo "数据库打开出错!!";
exit();
}//end if
//echo "
";
//print_r($table_list);
$table_code = "";
while(list($key,$table_name)=each($table_list))
{ //执行对每一个表的数据返回
if($backtype!="data")
{ //备份结构
$table_code .= get_table_code($link,$database,$table_name);
}//end if
if($backtype!="structure")
{ //备份数据
$table_code .= get_table_data($link,$database,$table_name);
}//end if
}//end while
//echo $table_code;
if($gz==0)
{ //
输出
$filename = $database.".sql";
$handle = fopen($filename, "a+");
$temp = fwrite($handle, $table_code);
echo $temp;
fclose($handle);
//header("location:",$filename);
echo "