>  기사  >  백엔드 개발  >  php mysql php MYSQL 데이터 백업 클래스

php mysql php MYSQL 데이터 백업 클래스

WBOY
WBOY원래의
2016-07-29 08:40:04931검색

기능적으로:
require_once("backdata.class.php");
$link = @mysql_connect("localhost","database name","password") 또는 die('서버에 연결할 수 없습니다.') ;
mysql_query("use cms",$link);
mysql_query("set names utf8",$link)
$dbbck=new backupData($link);//인스턴스화 링크 식별자로 충분합니다.
//데이터를 백업할 때 데이터베이스의 모든 테이블을 백업하려면 다음과 같이 작성하면 됩니다.
$dbbck->backupTables("cms","./" , array('*'));

//데이터를 백업할 때 데이터베이스에서 하나의 테이블만 백업하려면 다음과 같이 작성하면 됩니다.
$dbbck->backupTables ("cms" ,"./",array('user'))

//데이터를 백업할 때 데이터베이스의 여러 테이블을 백업하려면 다음과 같이 작성할 수 있습니다. 🎜>
$ dbbck->backupTables("cms","./",array('user','acl','informatoin'))
//참고: $dbbck->backupTables ("매개변수 1", "매개변수 2", array());,
매개변수 1은 데이터베이스 이름,
매개변수 2는 백업 데이터가 저장될 위치(예: 디렉터리 주소)
세 번째는 원하는 것입니다. 해당 테이블을 저장하세요
확인...

다음은 코드입니다.

코드 복사 코드는 다음과 같습니다.

/*
*
*간단한 백업 데이터 클래스
*author FC
*
*/
class backupData{
private $mysql_link;//링크 식별
private $dbName;//데이터베이스 이름
private $dataDir; //데이터가 저장될 디렉터리
private $tableNames;//테이블 이름
public function __construct( $mysql_link){

$this->mysql_link = $mysql_link;
}

public function backupTables ($dbName,$dataDir,$tableNames){//백업 시작

$this->dbName = $dbName
$this->dataDir = $dataDir; >tableNames = $tableNames;
$tables=$this-> ;delarray($this->tableNames)
$sqls=''
foreach($tables as $tablename); 🎜>if($tablename==''){//테이블이 존재하지 않습니다.
계속
}
//**************** ********다음은 SQL 전반부입니다**** **********
//테이블이 존재한다면 먼저 삭제하세요
$sqls . = "존재하는 경우 테이블 삭제 $tablename;n";
//테이블 구조 읽기
$rs = mysql_query("SHOW CREATE TABLE $tablename",$this->mysql_link)
$row =mysql_fetch_row($rs);
//SQL을 구성하기 위한 테이블 구조 가져오기
$sqls .=$row['1'].";nn"
unset($rs); >unset($row);
//************ ************다음은 SQL의 후반부입니다***** *********
//테이블에서 모든 데이터 찾기
$ rs=mysql_query("select * from $tablename",$this->mysql_link
// 테이블의 필드 수
$field=mysql_num_fields($rs);
//다음 SQL 문을 작성합니다: "INSERT INTO `groups` VALUES('1499e0ca25988d','Director','','0 ');"
while($rows=mysql_fetch_row($rs)){
$comma=' ';//Comma
$sqls.="INSERT INTO `$tablename` VALUES(";
for($i=0;$i<$field;$i ){
$sqls.= $comma."'".$rows[$i]."'"
$comma= ',';
}
$sqls.=");nnn";
}
}
$backfilepath=$this->dataDir.date("Ymdhis",time( )).'.sql';
//파일 쓰기
$filehandle = fopen($backfilepath , "w")
fwrite($filehandle, $sqls)
fclose($filehandle) );
}

비공개 함수 delarray($array){//들어오는 들어오는 배열 처리
foreach($array as $tables){
if($tables=='*' ){//모든 테이블(테이블 이름을 얻을 때 일반적인 방법으로 배열을 구성할 수 없음)
$newtables=mysql_list_tables($this->dbName,$this->mysql_link)
$ tableList = array();
for ($i = 0; $i < mysql_numrows($newtables) ; $i ){
array_push($tableList,mysql_tablename($newtables, $i))
}
$tableList=$tableList;
}else{
$tableList=$array ;
break
}
return $tableList;
}


위 내용은 php mysql의 내용을 포함하여 php mysql php MYSQL 데이터 백업 클래스를 소개하고 있는데, PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되었으면 좋겠습니다.


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.