Aqui les dejo el codigo completo por si alguin lo necesita.
Debo aclarar el que el codigo inicial lo traje desde internet haciendo algunos arreglillos, para que en el servidor se guardara solo la ultima copia que el usuario realizara, ya que como el las guardara en algun dispositivo de almacenamiento y dicho fichero creado ssaliera con la fecha del dia en que la realizo
Código PHP:
Ver original
<?php //================================================= //=== AQUI BORRAMOS TODAS LAS SALVAS ANTERIORES === //================================================= //============================================ //=== AQUI COMIENZA EL PROCESO DE LA SALVA === //============================================ // Report all errors //Define los parametro de la conexion y la db /** * Instantiate Backup_Database and perform backup */ $backupDatabase = new Backup_Database(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME); $status = $backupDatabase->backupTables(TABLES, OUTPUT_DIR) ? 'OK' : 'KO'; //////////echo "<br /><br /><br />Backup result: ".$status; /** * The Backup_Database class */ class Backup_Database { /** * Host where database is located */ var $host = ''; /** * Username used to connect to database */ var $username = ''; /** * Password used to connect to database */ var $passwd = ''; /** * Database to backup */ var $dbName = ''; /** * Database charset */ var $charset = ''; /** * Constructor initializes database */ function Backup_Database($host, $username, $passwd, $dbName, $charset = 'utf8') { $this->host = $host; $this->username = $username; $this->passwd = $passwd; $this->dbName = $dbName; $this->charset = $charset; $this->initializeDatabase(); } protected function initializeDatabase() { { } } /** * Backup the whole database or just some tables * Use '*' for whole database or 'table1 table2 table3...' * @param string $tables */ public function backupTables($tables = '*', $outputDir = '.') { try { /** * Tables to export */ if($tables == '*') { { $tables[] = $row[0]; } } else { } $sql = 'CREATE DATABASE IF NOT EXISTS '.$this->dbName.";\n\n"; $sql .= 'USE '.$this->dbName.";\n\n"; /** * Iterate tables */ foreach($tables as $table) { //////////echo "Backing up ".$table." table..."; $sql .= 'DROP TABLE IF EXISTS '.$table.';'; $sql.= "\n\n".$row2[1].";\n\n"; for ($i = 0; $i < $numFields; $i++) { { $sql .= 'INSERT INTO '.$table.' VALUES('; for($j=0; $j<$numFields; $j++) { { $sql .= '"'.$row[$j].'"' ; } else { $sql.= '""'; } if ($j < ($numFields-1)) { $sql .= ','; } } $sql.= ");\n"; } } $sql.="\n\n\n"; //////////echo " OK" . "<br />"; } } catch (Exception $e) { return false; } return $this->saveFile($sql, $outputDir); } //AQUI CONFIGURAMOS LOS PARAMETROS PARA LA SALVA DEL FICHERO protected function saveFile(&$sql, $outputDir = '.') { if (!$sql) return false; try { //Aqui construimos el nombre con el que guardamos el fichero de salva // $handle = fopen($outputDir.'/db-'.$this->dbName.'.sql','w+'); } catch (Exception $e) { return false; } return true; } } //SOLO PARA SERVIDORES EN LINUX //Aqui le cambiamos los permisos del fichero //chmod("db/*.sql", 0777); //============================================ //=== AQUI COMIENZA EL PROCESO DE DESCARGA === //============================================ $f = "db/$nombre_archivo"; ?>