[不指定 2012/10/31 02:54 | by 孤城浪子 ]
来源 http://blog.csdn.net/sha_cq/article/details/8033767

  1. <?php  
  2.  /* 
  3.  这是一个在服务器端备份和恢复数据库的类,张伟 2012-09-21 qq:3340971 
  4.  */  
  5.  class DBBack{  
  6.     private $back_dir='./';//备份的路径  
  7.     private $back_file=array();//当前已存在的备份  
  8.     private $host='localhost';  
  9.     private $user='root';  
  10.     private $pwd='123456';  
  11.     private $conn;  
  12.     private $dbname='navgoods';  
  13.     private $charset='utf8';  
  14.     private $sql='';  
  15.     private $limit=";\r\n[*_*]";  
  16.     public $tips='';//执行得到的提示信息  
  17.     private $cg_line=0;//操作成功的记录总条数  
  18.     private $cg_tb=0;//操作成功的表的个数  
  19.     private $sb_line=0;//操作失败的记录总条数  
  20.     private $sb_tb=0;//操作失败的表的个数  
  21.     private static $instance;  
  22.     public static function getInstance(){  
  23.         if(!self::$instance instanceof self){  
  24.             self::$instance=new self();  
  25.         }  
  26.         return self::$instance;  
  27.     }  
  28.     private function __construct(){  
  29.         date_default_timezone_set('Asia/Shanghai');  
  30.         $this->conn=@mysql_connect($this->host,$this->user,$this->pwd);  
  31.         if(!$this->conn){  
  32.             $this->tips='数据库连接失败!'.mysql_error();  
  33.             return false;  
  34.         }  
  35.         mysql_query("SET NAMES '".$this->charset."'");  
  36.         mysql_query("SET CHARACTER_SET_CLIENT='".$this->charset."'");  
  37.         mysql_query("SET CHARACTER_SET_RESULTS='".$this->charset."'");  
  38.         if(!mysql_select_db($this->dbname,$this->conn)){  
  39.             $this->tips='不存在数据库:'.$this->dbname.',请核对后再试!'.mysql_error();  
  40.             return false;  
  41.         }  
  42.     }  
  43.     //以库为单位备份  
  44.     public function dbBack(){  
  45.         mysql_query("set names '{$this->charset}'");  
  46.         $this->sql='';  
  47.         $this->sql= "CREATE DATABASE IF NOT EXISTS `$this->dbname` DEFAULT CHARACTER SET {$this->charset}{$this->limit}";  
  48.         $this->sql.= "USE `$this->dbname`{$this->limit}";  
  49.         $tb_result=mysql_query("show tables");  
  50.         while($t=mysql_fetch_array($tb_result)){  
  51.             $tb_name[]=$t[0];  
  52.         }  
  53.         $this->sql.=$this->tbBack($tb_name);  
  54.         return $this->saveFile();  
  55.     }  
  56.    
  57.     //以表为单位备份,传入一个数组  
  58.     public function tbBack($arr_tb_name){  
  59.         $mysql=array();  
  60.         $i=0;  
  61.         $this->cg_line=0;  
  62.         foreach($arr_tb_name as $tb_name){  
  63.             $mysql[$i]= "set charset {$this->charset}{$this->limit}";  
  64.             $mysql[$i].= "DROP TABLE IF EXISTS `$tb_name`{$this->limit}";  
  65.             $tb_create=mysql_query("show create table `$tb_name`");  
  66.             $row=mysql_fetch_assoc($tb_create);  
  67.             $mysql[$i].=$row['Create Table'].$this->limit;  
  68.             $mysql[$i].= "LOCK TABLES `$tb_name` WRITE{$this->limit}";  
  69.             $result=mysql_query("select * from `$tb_name`");  
  70.             while($data=mysql_fetch_assoc($result)){  
  71.                 foreach ($data as $k=>$v){  
  72.                     if($v==''){  
  73.                         unset($data[$k]);  
  74.                     }  
  75.                 }  
  76.                 $keys=array_keys($data);  
  77.                 $keys=array_map(addslashes,$keys);  
  78.                 $keys=join('`,`',$keys);  
  79.                 $keys="`".$keys."`";  
  80.                 $vals=array_values($data);  
  81.                 $vals=array_map(addslashes,$vals);  
  82.                 $vals=join("','",$vals);  
  83.                 $vals="'".$vals."'";  
  84.                 $mysql[$i].="insert into `$tb_name`($keys) values($vals){$this->limit}";  
  85.                 $this->cg_line++;  
  86.             }  
  87.             $mysql[$i].= "UNLOCK TABLES{$this->limit}";  
  88.             $i++;  
  89.         }  
  90.         $this->cg_tb=$i;  
  91.         $mysql=implode('',$mysql);  
  92.         return $mysql;  
  93.     }  
  94.    
  95.    
  96.     //恢复数据库  
  97.     function restore($fname){  
  98.         if (file_exists($fname)) {  
  99.             $cg=0;  
  100.             $sb=0;  
  101.             $this->cg_line=0;  
  102.             $this->sb_line=0;  
  103.             $this->cg_tb=0;  
  104.             $this->sb_tb=0;  
  105.             $handle = @fopen($fname"r");  
  106.             $buffer='';  
  107.             $this->tips='';  
  108.             if ($handle){  
  109.                 while (!feof($handle)){  
  110.                     $buffer .= fgets($handle, 4096);  
  111.                 }  
  112.                 fclose($handle);  
  113.             }else{  
  114.                 $this->tips.="备份文件读取失败!";  
  115.             }  
  116.             $a=explode($this->limit, $buffer);  
  117.             unset($buffer);  
  118.             $total=count($a)-1;  
  119.             for ($i=0;$i<$total;$i++){  
  120.                 if(mysql_query($a[$i])){  
  121.                     if(strpos($a[$i],'insert into')!==false||strpos($a[$i],'INSERT INTO')!==false)$this->cg_line++;  
  122.                     if(strpos($a[$i],'create table')!==false||strpos($a[$i],'CREATE TABLE')!==false)$this->cg_tb++;  
  123.                     $cg+=1;  
  124.                 }else{  
  125.                     if(strpos($a[$i],'insert into')!==false||strpos($a[$i],'INSERT INTO')!==false)$this->sb_line++;  
  126.                     if(strpos($a[$i],'create table')!==false||strpos($a[$i],'CREATE TABLE')!==false)$this->sb_tb++;  
  127.                     $sb+=1;  
  128.                     $sb_command[$sb]=$a[$i].'---'.mysql_error();  
  129.                 }  
  130.             }  
  131.             $this->tips.=" 操作完毕,<br/>共处理 $total 条命令,<br/>成功 $cg 条,<br/>失 败 $sb 条.<br/>成功恢复{$this->cg_tb}张表,{$this->cg_line}条记录。<br />恢复失败{$this->sb_tb}张表,{$this->sb_line}条记录.";  
  132.             if ($sb>0){  
  133.                 $this->tips.="<hr><br><br>失败命令如下:<br>";  
  134.                 for ($ii=1;$ii<=$sb;$ii++){  
  135.                     $this->tips.="<p><b>第 ".$ii." 条命令(内容如下):</b><br>".$sb_command[$ii]."</p><br>";  
  136.                 }  
  137.             }  
  138.         }else{  
  139.             $this->tips.="MySQL备份文件不存在,请检查文件路径是否正确!";  
  140.         }  
  141.     }  
  142.    
  143.     private function saveFile(){  
  144.         $this->tips='';  
  145.         $this->back_dir=rtrim($this->back_dir,'/').'/';  
  146.         $filename=$this->back_dir.$this->dbname.date('YmdHis').".sql";  
  147.         $fsize=file_put_contents($filename,$this->sql,FILE_USE_INCLUDE_PATH);  
  148.         $this->sql='';  
  149.         if($result===false){  
  150.             $this->tips='文件备份失败!';  
  151.             return false;  
  152.         }else{  
  153.             $this->tips='文件保存成功^_^<br/>文件名:'.$filename.'<br/>大小:'.round($fsize/1024/1024,2).'兆.<br/>';  
  154.             $this->tips.="共备份了{$this->cg_tb}张表,{$this->cg_line}条记录。";  
  155.             return true;  
  156.         }  
  157.     }  
  158.    
  159.    
  160.     //检测已存在的备份  
  161.     public function check(){  
  162.         $this->back_dir=rtrim($this->back_dir,'/').'/';  
  163.         if(!is_dir($this->back_dir)){  
  164.             if(!mkdir($this->back_dir)){  
  165.                 $this->tips='存放备份文件的文件夹不存在,并且创建失败,请确保您在服务器有创建该目录的权限!';  
  166.                 return false;  
  167.             }  
  168.         }  
  169.         $arrFile=scandir($this->back_dir);  
  170.         foreach($arrFile as $key=>$value){  
  171.             if(is_dir($this->back_dir.$value)){unset($arrFile[$key]);continue;}  
  172.             if(substr($value,-4,4)!='.sql')unset($arrFile[$key]);  
  173.         }  
  174.         if(emptyempty($arrFile)){  
  175.             $this->back_file=array();  
  176.             $this->tips='数据库目前还没有备份!';  
  177.             return false;  
  178.         }else{  
  179.             $i=0;  
  180.             foreach($arrFile as $k=>$v){  
  181.                 $url=$this->back_dir.$v;  
  182.                 $this->back_file[$i]['name']=iconv('GBK','UTF-8',$v);//转码文件名  
  183.                 $this->back_file[$i]['url']=$url;  
  184.                 $this->back_file[$i]['time']=filectime($url);  
  185.                 $this->back_file[$i]['size']=round(filesize($url)/1024/1024,2).'Mb';  
  186.                 $i++;  
  187.             }  
  188.             return $this->back_file;  
  189.         }  
  190.     }  
  191.    
  192.       
  193.  }  
  194.  ?> 
使用firefox默认搜索框的google搜索引擎,firefox会在搜索命令后添加一些参数,导致搜索时有时会被GFW重置 (非敏感词也会重置)

添加GOOGLE其它域名搜索的方法:

访问 http://mycroft.mozdev.org/google-search-plugins.html

点其中列表里的链接会弹出添加搜索引擎对话框

比如点 Google HK - 所有網頁 zh-HK (google.com.hk)

就会添加 google.com.hk(香港)
准备:
1.下载ROOT文件。
下载文件 (已下载 1128 次)

2.下载刷机工具FlashTool汉化版:
http://115.com/file/e6m47w0w

操作:
1. 下载 FlashTool,并解压到任意目录。以前下载过的就不用再下载了。主要是用到它的 adb 工具。
2. 下载Root新方法 .rar 并解压到FlashTool 中的“x10flasher_lib”目录里。
3.为增加成功机率,准备一张sd卡,记得要格式化,我格式化成Fat32的。
4. 双击“x10flasher_lib”目录中的“Root.bat”,根据提示操作即可。
5.中间有个等待10秒,再按任意键,过几秒手机开始重启,root成功......
[不指定 2011/06/07 15:26 | by 孤城浪子 ]
    UltraISO软碟通是一款功能强大而又方便实用的光盘映像文件制作/编辑/转换工具,它可以直接编辑ISO文件和从ISO中提取文件和目录,也可以从CD-ROM制作光盘映像或者将硬盘上的文件制作成ISO文件。同时,你也可以处理ISO文件的启动信息,从而制作可引导光盘。使用UltraISO,你可以随心所欲地制作/编辑/转换光盘映像文件,配合光盘刻录软件烧录出自己所需要的光碟。

    UltraISO 独有的智能化ISO文件格式分析器,可以处理目前几乎所有的光盘映像文件,包括 ISO、BIN、NRG、CIF等,甚至可以支持新出现的光盘映像文件。使用UltraISO,你可以打开这些映像,直接提取其中的文件,进行编辑并将这 些格式的映像文件转换为标准的ISO格式。

更新日志
UltraISO 9.36 PE     (2010-2-8)
          

+) 改进了写入硬盘映像特性, 可以将Ubuntu UNR 9.10 映像写入启动U盘,也可以制作包含多个分区的可启动移动硬盘(便捷写入)
+) 可以处理 .C2D 映像中的 CD-TEXT 信息
+) 刻录时显示时间信息
+) 支持 25G/50G 介质类型
*) 可以检测并使用Daemon-Tools 4.35 和 Alcohol 120% 2.00 的虚拟光驱
*) 修正了使用 isocmd.exe 加载多个映像到虚拟光驱时存在的错误
*) 一些小的改进和错误修正



用户名:李明
注册码:509F-BA54-BBA6-73C5

下载文件 (已下载 1638 次)

Tags:
[不指定 2010/12/02 16:46 | by 孤城浪子 ]
   在Windows中,有一个很方便的功能,那就是右键的发送到选项,比如,发送到桌面快捷方式、发送到可移动设备等,可以说是相当实用的一个功能。其实除此之外,我们还可以发送到任意我们常用的文件夹或位置。

  以前版本的WINDOWS的SendTo位置在
  • C:\Documents and Settings\用户名\Sendto

  Widnows 7 的SendTo位置在
  • C:\Users\用户名\AppData\Roaming\Microsoft\Windows\SendTo
  • 快速进入方法:开始菜单 - 搜索 shell:sendto 并打开
 
分页: 3/6 第一页 上页 1 2 3 4 5 6 下页 最后页 [ 显示模式: 摘要 | 列表