哪位达人 帮帮忙 修改下现在的代码 备份
mysql
的 php代码 要求备份到本地
我用网上流传的php 备份mysql数据的代码,文章标题是:备份mysql数据库的php代码(一个表一个文件)。代码最下面贴出来
但现在只能备份到虚拟主机的目录,现在我需要只备份到本地目录, 例如 本地电脑 D盘某文件夹。 虚拟主机不做任何操作,因为我买的是收费的虚拟主机,长久开销不起,加上本人php初级阶段,稍微复杂的代码不会修改。
各位达人看能不能修改下代码,只要本地备份的。 或者不修改也可以给我提供下相同功能的代码文件,谢谢了。
PHP code
DATE: ".date('Y-n-j H:i:s')."
ERROR: ".$info."
SQL: ".$sql."
}
";
}
public function close(){
self::$DB =null;
}
public function __destruct()
{
self::close();
}
}
/*---class end*/
function makedir($dirpath){
if(!$dirpath) return 0;
$dirpath=str_replace("\","/",$dirpath); $mdir="";
foreach(explode("/",$dirpath) as $val){
$mdir.=$val."/";
if($val==".."||$val==".")continue;
if(!is_dir($mdir)&&!file_exists($mdir)){
if(!@mkdir($mdir,0755)){
exit("创建目录 [".$mdir."]失败.");
}
}
}
return true;
}
function delDirAndFile($dirName){
if($handle=opendir($dirName)){
while(false!==($item = readdir($handle))){
if($item !="."&&$item!=".."){
if(is_dir( "$dirName/$item")){
delDirAndFile( "$dirName/$item");
}else{ unlink("$dirName/$item"); }
}
}
closedir( $handle );
if( rmdir( $dirName ) )echo "成功删除目录: $dirName
";
}
}
function filein($filename="databak/",$table='',$mysql=''){
$fp = fopen($filename.'/'.$table.'.sql','w');
fputs($fp,$mysql);
fclose($fp);
}
header("Content-Type:text/html;charset=utf-8");
$db=new dbmysql();
$table=$db->getTablesName();
$filename="databak/".date("Ymd");
$url=getcwd()."/databak/";
$handle = opendir($url);
while(false!==($file = readdir($handle))){
if ($file!="."&&$file!=".."&&is_dir($url."/".$file)) {
if(date("Ymd")-$file>5){delDirAndFile($url."/".$file);};
}
}
makedir($filename);
foreach($table as $t){
$s1=$db->fetch_array("show create table `$t`");
$mysql="/*Time:".date("Y-m-d H:i:s")." */
DROP TABLE IF EXISTS `$t`;
".$s1['Create Table'].";
";
$a1=$db->fetch_assoc("select * from `$t`");
foreach ($a1 as $data){
$vals=array_values($data);
$vals=array_map('addslashes',$vals);
$vals=join("','",$vals);
$vals="'".$vals."'";
$mysql.="INSERT INTO `$t` VALUES ($vals);
";
}
$mysql.="
";
filein($filename,$t,$mysql);
}
echo "数据备份成功,生成备份文件 ".getcwd()."/".$filename."/
程序自动清理5天以前的备份";
?>
