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;
- }
- return true;
- }