php备份数据库源码 php备份数据库代码( 二 )


*输出:备份的数据表的sql语句文件,可用于还原
*/
function db_bak($mylink,$dbname,$tab_array="",$dir,$filename,$block_num=20){
mysql_select_db($dbname,$mylink) or db_error(mysql_error());
is_array($tab_array) or $tab_array=db_showtb($mylink,$dbname,true); //如果$tab_array不是数组,则取得整个库的表
if($dir){
if(!file_exists($dir)){
$flag=mkdir($dir);
if(!$flag)
return 2;
}
}
//检查数据表是否存在
foreach($tab_array as $tab)
db_e_tab($mylink,$dbname,$tab) or db_error($tab." is not exist!");
$fp=fopen($dir.$filename,"w");
foreach($tab_array as $tab){
fputs($fp,"DROP TABLE IF EXISTS ".$tab.";\r\n");
【php备份数据库源码 php备份数据库代码】$tabdef_array=mysql_fetch_array(mysql_query("SHOW CREATE TABLE ".$tab,$mylink));
fputs($fp,str_replace("\n","",$tabdef_array["Create Table"]).";\r\n");
fputs($fp,"LOCK TABLES ".$tab." WRITE;\r\n");
$getvalue_result=mysql_query("select * from ".$tab,$mylink);
if(mysql_num_rows($getvalue_result)){
$i=1;
$p="";
$start_flag=true;
while($getvalue_array=mysql_fetch_row($getvalue_result)){
$values=join("','",array_map('db_data_check',$getvalue_array));
$start_flagfputs($fp,"insert into ".$tab." values");
if($i$block_num){
fputs($fp,",('".$values."');\r\n");
$start_flag=true;
$i=0;
}else{
fputs($fp,$p."('".$values."')");
$start_flag=false;
$i++;
}
$p=$start_flag?"":",";
}
$start_flag or fputs($fp,";\r\n");
}
fputs($fp,"UNLOCK TABLES;\r\n");
}
fclose($fp);
}
/*
**************function db_in()********************
*功能:还原备份函数db_bak生成的数据库文件
*输入(按传入参数解释):$db_name 要备份的数据库 , $filename要还原的数据库文件
*输出:将数据还原到数据库
*原理:将文件分割成一个数组,然后逐条将数据导入数据库
*警告:执行该函数会删除原来的数据表
*/
function db_in($mylink,$dbname,$filename){
if(!file_exists($filename)){
return 0;
}
db_e_db($mylink,$dbname) or (mysql_query("create database ".$dbname,$mylink)or db_error(mysql_error()));
mysql_select_db($dbname,$mylink);
$sql_array=file($filename);
foreach($sql_array as $sql){
mysql_query(trim($sql),$mylink) or db_error(mysql_error());
}
}
?
//我自己写的 。可以参考哈
大侠们PHP到底如何备份mysql数据库啊?能发我一份源码吗?搜一下phpMyAdmin放到你的网站上 , 然后以数据库账号和密码登录,就有备份的选项了 。
你邮箱?
怎么把php源码数据库导入数据库可以参考:
一般是单独导入的,
在mysql上,要用mysql_import工具 把文本导入
sqlserver上可以用数据库备份工具恢复导入,也可以使用其他数据库引擎通过ado到 。
不需要源码 , 但是需要了解php源码所需要的库表结构 。一般php源码里好多都有建立空库结构的源码 。
php备份数据库源码的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于php备份数据库代码、php备份数据库源码的信息别忘了在本站进行查找喔 。

推荐阅读