PHP code to back up mysql database (one table, one file)_PHP tutorial

WBOY
Release: 2016-07-21 15:36:59
Original
818 people have browsed it

Copy code The code is as follows:

$cfg_dbhost ='localhost';//mysql host
$cfg_dbname ='sq_test';//Database name
$cfg_dbuser ='root';//Database user name
$cfg_dbpwd ='jb51.net';//Database user password
$cfg_db_language =' utf8';//Database encoding

class dbmysql{
public static $dbhost = 'localhost';
public static $dbname;
public static $dbuser = 'root';
public static $dbpass;
public static $charset = 'utf8';
public static $DB = null;
public $querycount = 0;

public function __construct()
{
self::$dbhost = $GLOBALS['cfg_dbhost'];
self::$dbname = $GLOBALS['cfg_dbname'];
self::$dbuser = $GLOBALS['cfg_dbuser '];
self::$dbpass = $GLOBALS['cfg_dbpwd'];
self::$charset= $GLOBALS['cfg_db_language'];
self::connect();
}
public function connect(){
self::$DB=mysql_connect(self::$dbhost,self::$dbuser,self::$dbpass);
if(!self::$ DB){
self::sqlError('Unable to connect to the server!'.self::mysqlerror);exit("Unable to connect to the server!");;
}
if(!mysql_select_db(self:: $dbname)){
self::sqlError('Unable to connect to database ('.self::$dbname.')!'.self::mysqlerror);exit("Unable to connect to database!");
}
mysql_query("SET NAMES '".self::$charset."', character_set_client=binary, sql_mode='';",self::$DB);
}

private function mysqlerror(){
return mysql_error();
}

public function getTablesName(){
$res = mysql_query('SHOW TABLES FROM '.self::$dbname,self ::$DB);
$tables=array();
while ($row=mysql_fetch_row($res))$tables[]=$row[0];
mysql_free_result($res);
return $tables;
}
public function getFields($table){
$res=mysql_query('DESCRIBE '.$table,self::$DB);
$tables= array();
while($row=mysql_fetch_row($res))$tables[]=$row[0];
mysql_free_result($res);
return $tables;
}

public function fetch_array($sql){
$res=mysql_query($sql,self::$DB);
$r=mysql_fetch_array($res);
mysql_free_result($res );
return $r;
}

public function fetch_assoc($sql){
$q3=mysql_query($sql,self::$DB); $ra=array( );
while($data=mysql_fetch_assoc($q3)){
$ra[]=$data;
}
mysql_free_result($q3);
return $ra;
}
private function sqlError($message='',$info ='',$sql=''){//Save error message to file
echo "{".$message."
DATE: ".date('Y-n-j H:i:s')."
ERROR: ".$info."
SQL: ".$sql."< br/>}
";
}
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("Failed to create directory [".$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 "Directory deleted successfully: $dirName
n";
}
}

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")." */rnDROP TABLE IF EXISTS `$t`;rn".$s1['Create Table'].";rnrn";
$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);rn";
}
$mysql.="rn";
filein($filename,$t,$mysql);
}

echo "data The backup is successful and the backup file ".getcwd()."/".$filename."/
The program automatically cleans the backups from 5 days ago";
?>

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/322039.htmlTechArticleCopy the code as follows: ?php $cfg_dbhost ='localhost';//mysql host $cfg_dbname ='sq_test' ;//Database name $cfg_dbuser ='root';//Database user name $cfg_dbpwd ='jb51.net';//Database...
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!