首页 > 数据库 >php 备份数据库 Backup Your MySQL Database Using PHP

php 备份数据库 Backup Your MySQL Database Using PHP

时间:2023-06-08 17:36:06浏览次数:43  
标签:php Database MySQL Using PHP Your


代码:

<?php

backup_tables('localhost','root','root','mysql');

/* backup the db OR just a table */
function backup_tables($host,$user,$pass,$name,$tables = '*')
{
	
	$link = mysql_connect($host,$user,$pass);
	mysql_select_db($name,$link);
	
	$return  = "-- \n";
    $return .= '-- MySQL DATABASE DUMPER. Copyright GLS Studio ' . "\n";
    $return .= "-- \n\n";
		
	//get all of the tables
	if($tables == '*')
	{
		$tables  = array();
		$result = mysql_query('SHOW TABLES');
		while($row = mysql_fetch_row($result)) $tables[] = $row[0];
	}
	else $tables = is_array($tables) ? $tables : explode(',',$tables);
	
	//cycle through
	foreach($tables as $table)
	{
		$result = mysql_query('SELECT * FROM '.$table);
		$num_fields = mysql_num_fields($result);
		
		$return     .= "-- ------------------------------------------------ \n";
        $return     .= "-- Table structure for table `{$table}` \n\n";

		// Dump Structure
        $return     .= "DROP TABLE IF EXISTS `{$table}`; \n";
		$row2 = mysql_fetch_row(mysql_query('SHOW CREATE TABLE '.$table));
		$return.= "\n\n".$row2[1].";\n";
		
		for ($i = 0; $i < $num_fields; $i++) 
		{
			while($row = mysql_fetch_row($result))
			{
				$return.= 'INSERT INTO '.$table.' VALUES(';
				for($j=0; $j<$num_fields; $j++) 
				{
					$row[$j] = addslashes($row[$j]);
					$row[$j] = ereg_replace("\n","\\n",$row[$j]);
					
					if (isset($row[$j])) $return .= '"'.$row[$j].'"' ;
					else $return .= '""';
					
					if ($j<($num_fields-1)) $return.= ','; 
				}
				$return.= ");\n";
			}
		}
		$return .="\n\n";
        $return .= "-- Table structure for table `{$table}` \n";
        $return .= "-- ------------------------------------------------- \n\n\n";
	}
	
	//save file
	//$handle = fopen('db-backup-'.time().'-'.(md5(implode(',',$tables))).'.sql','w+');
	//fwrite($handle,$return);
	//fclose($handle);
	
	//add below code to download it as a sql file
	Header('Content-type: application/octet-stream');
	Header('Content-Disposition: attachment; filename=db-backup-'.time().'-'.(md5(implode(',',$tables))).'.sql');
	echo $return;
}

 

标签:php,Database,MySQL,Using,PHP,Your
From: https://blog.51cto.com/u_8895844/6441672

相关文章

  • 【京东JD电商平台api接口】获得JD商品详情接口PHP调用演示示例
    京东提供了商品详情API接口,可以帮助开发者获取到指定商品的详细信息,例如价格、库存、销售量、详情描述、图片等。具体获取方式如下:1. 首先需要在开放平台上申请API接口密钥。2.登录API接口调用地址。3. 根据API接口文档中的参数要求,构造API接口请求的参数。4. 将参数进行签......
  • 基于PHP方法,微信公众号小程序获取code,access_token,openid,用户信息
    //发起获得code值链接publicfunctiondoPageGetcode(){$appid='yourappid';//修改你的appidif(!$appid){return$this->result(10008,'参数错误','');}//这里的$redirect_uri地址需要http://,跳转对于登录doPageOpenid方法,在微信公众号上面也有添加这个域名http://w......
  • 在 macOS Catalina 10.15 搭建 PHP 开发环境包括PHP的redis扩展
    2019年10月8日,苹果公司正式发布了新一代macOS,版本为Catalina(11.15)。macOSCatalina预装了Ruby(2.6.3)、PHP(7.3.9)、Perl(5.18.4)、Python(2.7.16)等常用的脚本语言,以及Apache(2.4.41)Web服务器。需要注意的是,在新版本中,zsh已取代bash成为新版操作系统中的......
  • 深入了解 HTTP 请求和响应、表单处理和验证、URL 路由和重定向、Web 服务和 API 开发,
    在Web开发中,了解HTTP请求和响应、表单处理和验证、URL路由和重定向、Web服务和API开发,以及PHP模板引擎和视图是非常重要的。本文将深入探讨这些概念,并提供相关的代码示例。1.HTTP请求和响应HTTP(超文本传输协议)是用于在客户端和服务器之间传输数据的协议。在Web开发中......
  • 深入了解 Cookie、Session 和 PHP 在 Web 开发中的用户身份验证和会话管理
    在Web开发中,用户身份验证和会话管理是至关重要的方面。本文将探讨Cookie和Session的概念及其在用户身份验证和会话管理中的作用。我们还将介绍一些关于会话安全性和保护的最佳实践,并讨论PHP在Web开发中的角色。1.什么是Cookie和Session?1.1CookieCookie是服务器发送......
  • 【web 开发】PHP面向对象中类的继承
    前言继承(inheritance)是OOP中最重要的特性与概念。父类拥有其子类的公共属性和方法。子类除了拥有父类具有的公共属性和方法以外,还拥有自己独有的属性和方法。一个类可以在声明中用extends,关键字继承另一个类的方法和属性。PHP不支持多重继承,一个类只能继承一个基类。被继承的方法......
  • PHP Xdebug 3 和 Visual Studio Code
    Xdebug3相对于Xdebug2改动挺大的。在php.ini里下面的设置就够了,不需要多余的。默认调试端口9003 [XDebug]zend_extension="php_xdebug.dll"xdebug.mode=debugxdebug.start_with_request=yesxdebug.idekey=VSCODEhttps://community.localwp.com/t/local-xdebu......
  • 5_How to install phpMyAdmin on Ubuntu_
     地址:https://www.codewithharry.com/blogpost/install-phpmyadmin-ubuntu/    InstallingphpMyAdminandaddingpasswordauthenticationtoMySQLonUbuntuInthisvideo,wewillseehowtoinstallandsecurephpMyAdminonUbuntu20.04.phpMyAdminwasc......
  • 9_How to install phpMyAdmin on Nginx (in 5 minutes)
     地址:https://www.codewithharry.com/blogpost/install-phpmyadmin-ubuntu-nginx/  HowtoinstallPhpMyAdminonUbunturunningNginx(LEMPstack)Inthispost,wewillseehowtoinstallphpMyAdminonserversrunningNginx.Followthestepsbelow:Step1-......
  • 3_Installing Linux, Apache, MySQL, PHP (LAMP) Stack on Ubuntu 20.04
      地址:https://www.codewithharry.com/blogpost/lamp-stack-ubuntu-20-04/ InstallingLAMPstackonUbuntu20.04in5MinutesThispostwillexplainhowtoinstallLAMPstackonUbuntu20.04.LAMPstackconsistsofthefollowingcomponents:Linux-AnyLi......