php数据库备份还原函数
文章提供一款备份还原函数这是利用php写的可以备份也可以还原的函数,同时也支持备份后保存到本地的代码,好了下面看源码.
//备份还原函数
function write_file( $sql , $filename ) {
$re =true;
if (!@ $fp = fopen ( "./www.phpfensi.com/" . $filename , "w+" )) { $re =false; echo "failed to open target file" ;}
if (!@fwrite( $fp , $sql )) { $re =false; echo "failed to write file" ;}
if (!@fclose( $fp )) { $re =false; echo "failed to close target file" ;}
return $re ;
}
function down_file( $sql , $filename ){
ob_end_clean();
header( "content-encoding: none" );
header( "content-type: " .( strpos ( $_server [ 'http_user_agent' ], 'msie' ) ? 'application/octetstream' : 'application/octet-stream' ));
header( "content-disposition: " .( strpos ( $_server [ 'http_user_agent' ], 'msie' ) ? 'inline; ' : 'attachment; ' ). "filename=" . $filename );
header( "content-length: " . strlen ( $sql ));
header( "pragma: no-cache" );
header( "expires: 0" );
echo $sql ;
$e =ob_get_contents();
ob_end_clean();
}
function writeable( $dir ){
if (! is_dir ( $dir )) {
@ mkdir ( $dir , 0777);
}
if ( is_dir ( $dir )){
if ( $fp = @ fopen ( "$dir/test.test" , 'w' )){
@fclose( $fp );
@unlink( "$dir/test.test" );
$writeable = 1;
} else {
$writeable = 0;
}
}
return $writeable ;
}
function make_header( $table ){
global $db ;
$sql = "drop table if exists `" . $table . "`; " ;
$db ->query( "show create table " . $table );
$db ->nextrecord();
$tmp =preg_replace( "/ /" , "" , $db ->f( "create table" ));
$sql .= $tmp . "; " ;
return $sql ;
}
function make_record( $table , $num_fields ){
global $db ;
$comma = "" ;
$sql .= "insert into " . $table . " values(" ;
for ( $i = 0; $i < $num_fields ; $i ++)
{ $sql .= ( $comma . "'" .mysql教程_escape_string( $db ->record[ $i ]). "'" ); $comma = "," ;}
$sql .= "); " ;
return $sql ;
}
function show_msg( $msgs ){
$i =0;
$tm1 = "<table width='100%' border='0' cellpadding='0' cellspacing='1'><tr><td><font color='red'><b>提示信息:</b></font></td></tr><tr><td><ul>" ;
while (list( $k , $v )=each( $msgs )){
$i = $i +1;
$t1 = "<li>$i." . $v . "</li>" ;
$t = $t . $t1 ;
}
$tm2 = "</ul></td></tr></table>" ;
return $tm1 . $t . $tm2 ;
}
function pageend(){
exit ();
}
function import( $fname ) {
global $db ;
$sqls =file( $fname );
foreach ( $sqls as $sql ){
str_replace ( " " , "" , $sql );
str_replace ( " " , "" , $sql );
if (! $db ->query(trim( $sql ))) return false;
} //开源代码phpfensi.com
return true;
}