当前位置: 首页 > 图文教程 > 网络编程 > PHP > php数据库备份参考

PHP
PHP自动更新新闻DIY
模拟OICQ的实现思路和核心程序(三)
如何对PHP程序中的常见漏洞进行攻击(下)
通过ODBC连接的SQL SERVER实例
使用sockets:从新闻组中获取文章(二)
PHP+MYSQL的文章管理系统(二)
使用sockets:从新闻组中获取文章(三)
使用sockets:从新闻组中获取文章(一)
用cookies来跟踪识别用户
PHP实现分页的一个示例
PHP+MYSQL的文章管理系统(一)
消息持续发送的完整例子
如何利用php+mysql保存和输出文件
操作Oracle的php类
计数器详细设计
一个程序下载的管理程序(三)
一个程序下载的管理程序(一)
在php中取得image按钮传递的name值
一个程序下载的管理程序(二)
一个程序下载的管理程序(四)

PHP 中的 php数据库备份参考


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 270 ::
收藏到网摘: n/a

转自:http://www1.blog.163.com/article/-Bov-01EjrIa.html
<?php
 set_time_limit(36000);
  $orders = 9; //目标表序号
  $dbNames = array("seeditbbs","seedblog"); //备份多库
 $con = mysql_connect("localhost","root","h67g4n9s8l"); //h67g4n9s8l
 mysql_select_db("seeditbbs",$con);
  $rs = mysql_query("SHOW GLOBAL VARIABLES"); //读取MYSQL系统变量  while($row = mysql_fetch_row($rs)){     if($row[0]=="datadir"){ 
 $dataDir = $row[1]; //得到MYSQL的DATA目录 
 mysql_free_result($rs); 
 break;} 
 } foreach($dbNames as $dbName){ //循环备份多库     $fromDir = $dataDir;  $toDir = "i:/db_bak/{$dbName}{$orders}/"; //目标目录 if(!is_dir($toDir)) mkdir($toDir ); //建保存目录  $fromDir .= "{$dbName}/"; //源目录  $dirArr = scandir($fromDir);
 foreach($dirArr as $subFile){ //拷备所有表文件 
     if(!@preg_match("|^\.+$|",$subFile)) copy($fromDir.$subFile,$toDir.$subFile); 
  } } ($orders<9) ? $orders++ : $orders=1; //表序号自增,一日9次,备份时间: 1 8 10 12 14 16 18 20 22 $file = file_get_contents($_SERVER["SCRIPT_FILENAME"]);
  $file = preg_replace("|\\\$orders \= \d+|","\$orders = $orders",$file); //修改本文件目标表序号 file_put_contents($_SERVER["SCRIPT_FILENAME"],$file); //保存?>