php 备份mysql数据库(joomla数据库可直接使用,其他数据库稍作修改即可)
<?phprequire_once('configuration.php');$jconfig = new JConfig();$connect = mysql_connect($jconfig->host ,$jconfig->user, $jconfig->password);$result = mysql_list_tables($jconfig->db); $tables = array();while ($row = mysql_fetch_row($result)) {$tables[] = $row[0];}mysql_select_db($jconfig->db);$sql = '';foreach($tables as $table){$sql .= backupTable($table);}$r = file_put_contents('tmp/backup_'.date('Y-m-d-H-i-s').'.sql', $sql);if($r){die('success');}else{die('lalala');}mysql_close($connect);function backupTable($table){$sqltxt = "DROP TABLE IF EXISTS $table;\n";$result = mysql_query("SHOW CREATE TABLE $table");$row = mysql_fetch_assoc($result);$createsql = $row['Create Table'];$sqltxt .= $createsql.";\n\n";$result = mysql_query("SELECT * FROM $table");$rows = array();while($row = mysql_fetch_assoc($result)){$fields = array();foreach($row as $field){$fields[] = '\''.mysql_escape_string($field).'\'';}$rows[] = '('.implode(',', $fields).')';}if(!empty($rows)){$sqltxt .= "INSERT INTO `$table` VALUES".implode(",\n", $rows).";\n";}$sqltxt .= "\n";return $sqltxt;}