wasy(嘻嘻哈哈)兄进来一下好吗? wasy兄,如果现在给我行吗?我现在就要用的 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我这里上传有限制,每次只能发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";?> <?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"); <?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"); 上帖已经是第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(); 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"; ///----------------------------當前數據表數據--------------------------- $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); 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> <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> 老兄我都告诉你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); // 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); }} //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> <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> $Data_file_path="data_txt"; $enter=(substr_count(getenv("HTTP_USER_AGENT"),"Win"))?"\t\r\n":"\t\n";这个是什么意思?有什么作用? 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,...)] 请问各位高手,如何要模板文件中循环替换 php用户登录,帮我看一下哪错了,谢谢~ 请教一个PHP与FLEX交互通信的问题 Content-Type: application/octet-stream 与 Content-Type: application/x-octet-stream 对象支持可变吗? 省市三级联动的数据库问题,查不到值 php可以去除jpg格式图片的背景并加水印吗? 一个简单问题 请教编码的函数~~~ 服务器nginx配置站点,为什么随便取个域名也能访问? 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";
?>
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");
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");
//取得字段信息
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();
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";
$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);
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>
<!--
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>
第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);
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);
}
}
$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>
<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>
$enter=(substr_count(getenv("HTTP_USER_AGENT"),"Win"))?"\t\r\n":"\t\n";
这个是什么意思?有什么作用?
INTO TABLE tbl_name
[FIELDS
[TERMINATED BY '\t']
[OPTIONALLY] ENCLOSED BY '']
[ESCAPED BY '\\' ]]
[LINES TERMINATED BY '\n']
[IGNORE number LINES]
[(col_name,...)]