php數據庫備份還原函數 文章提供一款備份還原函數這是利用php寫的可以備份也可以還原的函數,同時也支持備份後保存到本地的代碼哦,好了下面看源碼。
php教程數據庫教程備份還原函數
文章提供一款備份還原函數這是利用php寫的可以備份也可以還原的函數,同時也支持備份後保存到本地的代碼哦,好了下面看源碼。
*/
//備份還原函數
function write_file($sql,$filename) {
$re=true;
if(fopen("./www.bKjia.c0m/".$filename,"w">!@$fp=fopen("./www.bKjia.c0m/".$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."`;n";
$db->query("show create table ".$table);
$db->nextrecord();
$tmp=preg_replace("/n/","",$db->f("create table"));
$sql.=$tmp.";n";
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 .= ");n";
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("r","",$sql);
str_replace("n","",$sql);
if(!$db->query(trim($sql))) return false;
}
return true;
}
?>