wasy兄,如果现在给我行吗?我现在就要用的

解决方案 »

  1.   

    我这里上传有限制,每次只能发200字左右的帖子。而csdn又有连续只能发三次的限制,所以我每发三次帖以后,你要up一次。文件1:set.php
    <?
    $db_server="localhost:3306";
    $db_user="root";
    $db_pwd="";$Data_file_path="data_txt";
    $enter=(substr_count(getenv("HTTP_USER_AGENT"),"Win"))?"\t\r\n":"\t\n";
    ?>
      

  2.   

    <?
    require("set.php");
    $link=@mysql_pconnect($db_server,$db_user,$db_pwd) or die("Faled to Connect Database!");
    if($HTTP_POST_VARS[backup]){
    $tablesSource=@mysql_list_tables($database) or die("No the database '$database'!");
    $result="#_#___#_#_#Database '$database' $enter";
    while(list($table)=mysql_fetch_row($tablesSource)){
    ///----------------------------當前數據表結構--------------------------------
    $result.="$enter$enter#_#___#_#_#------------------Table".($N+1).":'$table'$enter";
    $result.=" CREATE TABLE $table ($enter";
    $tableStru=mysql_db_query($database,"show fields from $table");
      

  3.   

    <?
    require("set.php");
    $link=@mysql_pconnect($db_server,$db_user,$db_pwd) or die("Faled to Connect Database!");
    if($HTTP_POST_VARS[backup]){
    $tablesSource=@mysql_list_tables($database) or die("No the database '$database'!");
    $result="#_#___#_#_#Database '$database' $enter";
    while(list($table)=mysql_fetch_row($tablesSource)){
    ///----------------------------當前數據表結構--------------------------------
    $result.="$enter$enter#_#___#_#_#------------------Table".($N+1).":'$table'$enter";
    $result.=" CREATE TABLE $table ($enter";
    $tableStru=mysql_db_query($database,"show fields from $table");
      

  4.   

    上帖已经是第2个文件:data_to_file.php,此帖接上:
    //取得字段信息
    while($struc=mysql_fetch_object($tableStru)){
    $result.="  ".$struc->Field." ".$struc->Type." "; //字段名稱屬性
    $result.=($struc->Default||$struc->Default=="0") ? " DEFAULT '$struc->Default'" : "";
    $result.=($struc->Null) ? "" : " NOT NULL ";
    $result.=($struc->Extra) ?  "$struc->Extra "  :  "";
    $result.=",$enter";
    }
    //取得約束信息
    $constraint=mysql_db_query($database,"show keys from $table");
    $PK=array();$UK=array();$KEY=array();
      

  5.   

    while($con=mysql_fetch_object($constraint)){
    if($con->Key_name=="PRIMARY")
    $PK[]=$con->Column_name;
    if($con->Non_unique=="0"&&$con->Key_name!="PRIMARY")
    $UK[$con->Key_name][]=$con->Column_name;
    if($con->Non_unique=="1")
    $KEY[$con->Key_name][]=$con->Column_name;
    }
    if(count($PK))
    $result.="  PRIMARY KEY (".implode($PK,",")."),$enter"; //add PK
    if(count($UK))
    while(list($ke,$va)=@each($UK)) //add UK
    $result.="  UNIQUE $ke (".implode($va,",")."),$enter";
    if(count($KEY))
    while(list($ke,$va)=@each($KEY)) //add KEY
    $result.="  KEY $ke (".implode($va,",")."),$enter";
    $result=substr($result,0,-(strlen(",$enter")))."$enter);$enter";
      

  6.   

    ///----------------------------當前數據表數據---------------------------
    $content=mysql_db_query($database,"select * from $table");
    $nums=mysql_num_fields($content); //use mysql_num_fields
    while($contArr=mysql_fetch_array($content)){
    // print_r($contArr);
    $result.="INSERT INTO $table VALUES(";
    for($k=0;$k<$nums;$k++)
    $result.="'".addslashes($contArr[$k])."',";
    $result=substr($result,0,-1).");$enter";
    }
    $N++; }
    ///-----------------------------寫入文件--------------------------------
    $fp=@fopen("$Data_file_path/".$database."_".date("Y-m-d").".txt","w") 
    or die("Faled to Create Text-File!,Not Accessed!");
    fwrite($fp,$result);
    fclose($fp);
      

  7.   

    echo " <script>\n
    alert('success!');\n
    self.location='$PHP_SELF';
    </script>\n";
    // echo $result;
    }
    //獲取數據庫
    $db_list = mysql_list_dbs($link);
    while ($row = mysql_fetch_object($db_list))
    $dataOpt.="<option>".$row->Database;
    ?>
    <HTML>
    <HEAD>
    <TITLE>DABABASE BACKUP</TITLE>
    <META content="text/html; charset=big5" http-equiv=Content-Type>
      

  8.   

    <style>
    <!--
    input{border:1px solid #000000}
    body{font-size:15px}
    -->
    </style>
    </HEAD>
    <BODY>
    <form name=form1 method=post action="<?=$PHP_SELF?>">
    <select name=database>
    <option value="" selected>選擇要備份的數據庫
    <?=$dataOpt?>
    </select>
    <input type="submit" name="backup" value="開始備份">
    </form>
    </BODY>
    </HTML>
      

  9.   

    老兄我都告诉你n次了,我这里不能上传,怎么发到你邮箱?
    第3个文件:file_to_data.php:
    <?
    require("set.php");
    ///------------------------------------還原數據庫-------------------------------
    ///如果沒有相關數據庫,會建立數據庫
    if($HTTP_POST_VARS[restore])
    {
    $ln=@mysql_pconnect($db_server,$db_user,$db_pwd) or die("Faled to Connect Database!");
    $path=$Data_file_path."/".$database."_".$date.".txt";
    $fp=@fopen($path,"r") or die("No file or Not Accessed!");
    $sql=fread($fp,filesize($path));
    ///----------------------分解$sql為一個一個的語句執行
    $sql=eregi_replace("#_#___#_#_#[^\n]*\n","",$sql);
    $arr=preg_split("/\);$enter/",$sql);
      

  10.   

    // print_r($arr);
    mysql_drop_db($database);
    sleep(1);
    mysql_create_db($database);
    // sleep(1); //wait 1 second
    for($n=0;$n<count($arr)-1;$n++){ ///-1
    @mysql_db_query($database,$arr[$n].");") or die($arr[$n].");<BR>".mysql_error());
    }
    echo " <script>\n
    alert('success!');\n
    self.location='$PHP_SELF';
    </script>\n";
    }
    ///-------------------------------從目錄中得到還原清單-----------------------
    $d = dir($Data_file_path);
    while ($entry = $d->read()){
    if(preg_match("/^\w+_\d{4}-\d{2}-\d{2}.txt$/",$entry)){
    $pos=strrpos($entry,"_");
    $result[substr($entry,0,$pos)][]=substr($entry,$pos+1,-4);
    }
    }
      

  11.   

    //print_r($result);
    $d->close();
    $n=0;
    while(list($key,$val)=@each($result)){
    @rsort($val);
    $arrArg.="new Array(),";
    $listDatabase.="<option>".$key;
    for($k=0;$k<count($val);$k++)
    $sptOpt.="\n opt[$n][$k]=new Option('".$val[$k]."','".$val[$k]."');";
    $n++;
    }
    ?>
    <script language=javascript>
    var opt=new Array(<?=substr($arrArg,0,-1)?>);
    <?=$sptOpt?>
    function getData(ob)
    {// note order
    var index=ob.selectedIndex-1;
    var tarOb=document.form1.date;
    tarOb.length=1;
    if(index<0) return;
    for(var k=0;k<opt[index].length;k++)
    tarOb.options[tarOb.length]=opt[index][k];
    tarOb.selectedIndex=0;
    }
    </script>
      

  12.   

    <HTML>
    <HEAD>
    <TITLE>DABABASE BACKUP</TITLE>
    <META content="text/html; charset=big5" http-equiv=Content-Type>
    <style>
    <!--
    input{border:1px solid #000000}
    body{font-size:15px}
    -->
    </style>
    </HEAD>
    <BODY>
    <form name=form1 method=post action="<?=$PHP_SELF?>">
    <select name=database onchange="getData(this)">
    <option selected value="">選擇已備份數據庫
    <?=$listDatabase?>
    </select>
    <select name=date>
    <option value="" selected>選擇備份的時間
    </select>
    <input type=button name=view value="察看" onclick="window.open('<?=$Data_file_path?>/'+this.form.database.options[this.form.database.selectedIndex].text+'_'+this.form.date.value+'.txt','','resizable=1,scrollbars=1')">
    <input type=submit name=restore value="還原">
    </form>
    </BODY>
    </HTML>
      

  13.   

    $Data_file_path="data_txt";
    $enter=(substr_count(getenv("HTTP_USER_AGENT"),"Win"))?"\t\r\n":"\t\n";
    这个是什么意思?有什么作用?
      

  14.   

    LOAD DATA [LOW_PRIORITY] [LOCAL] INFILE 'file_name.txt' [REPLACE | IGNORE]
        INTO TABLE tbl_name
        [FIELDS
            [TERMINATED BY '\t']
            [OPTIONALLY] ENCLOSED BY '']
            [ESCAPED BY '\\' ]]
        [LINES TERMINATED BY '\n']
        [IGNORE number LINES]
        [(col_name,...)]