Al enviar los datos del formulario me crea la copia pero no borra las anteriores y me da este error pero no consigo arreglar el error
Código HTML:
Ver originalNotice: Use of undefined constant zip - assumed 'zip' in C:\xampp\htdocs\40\p61.php on line 92
Warning: unlink(/../copia/20130611192419.~swapzip): No such file or directory in C:\xampp\htdocs\40\p61.php on line 92
Notice: Use of undefined constant zip - assumed 'zip' in C:\xampp\htdocs\40\p61.php on line 92
Warning: unlink(/../copia/20130611192419.~swapzip): No such file or directory in C:\xampp\htdocs\40\p61.php on line 92
Notice: Use of undefined constant zip - assumed 'zip' in C:\xampp\htdocs\40\p61.php on line 92
Warning: unlink(/../copia/20130611192419.~swapzip): No such file or directory in C:\xampp\htdocs\40\p61.php on line 92
Notice: Use of undefined constant zip - assumed 'zip' in C:\xampp\htdocs\40\p61.php on line 92
Warning: unlink(/../copia/20130611192419.~swapzip): No such file or directory in C:\xampp\htdocs\40\p61.php on line 92
Notice: Use of undefined constant zip - assumed 'zip' in C:\xampp\htdocs\40\p61.php on line 92
Warning: unlink(/../copia/20130611192419.~swapzip): No such file or directory in C:\xampp\htdocs\40\p61.php on line 92
Este es el codigo de la pagina
Código PHP:
Ver original<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin título</title>
</head>
<body>
<form id="dbbackup" name="formparaBackup" method="post" action=""><br />
Host:
<input type="text" name="mysqlhost" value="" /><br />
Nombre de usuario MySQL:
<input type="text" name="mysqlusuari" value="" /><br />
Password MySQL:
<input type="password" name="mysqlpass" value="" /><br /><br />
<input type="submit" name="enviar" id="enviar" value="Enviar" />
</form>
<?php
#############################################
#
# Tarea de copia seguridad de todas las bases de datos en MySQL
#
# CopyLeft, puedes hacer con este script lo que te de la gana
#
#############################################
if (isset($_POST['enviar'])){ echo date("Y-m-d H:i", time()) . " Creando copia de seguridad MySQL...\r\n";
// Datos de acceso a MySQL
$myhost = $_POST['mysqlhost'];
$myuser = $_POST['mysqlusuari'];
$mypass = $_POST['mysqlpass'];
$DB = mysql_connect($myhost, $myuser, $mypass) or
die(date("Y-m-d H:i", time()) . " ERROR!! No se pudo conectar a MySQL.\r\n");
// Otros parámetros
$OUTDIR = "/../copia/"; // Cambiar segun necesidades y tipo servidor
$outfile = "MySQL_$now.zip";
$periodo = time() - 259200; // Los archivos anteriores a este periodo (3 dias = 259200 segundos) serán borrados
// Crear nuevo archivo ZIP
# Más información sobre la clase PHP
# http://es.php.net/manual/en/class.ziparchive.php
echo date("Y-m-d H:i", time()) . " Creando '$OUTDIR$outfile.zip' ... "; $zip = new ZipArchive;
if (!$zip->open("$OUTDIR$outfile", ZIPARCHIVE
::CREATE)) die("ERROR!!\r\n"); echo "OK.\r\n";
// Tomar un listado de bases de datos
// Volcar todas las bases
if ($database[0] != "information_schema" && $database[0] != "mysql")
{
// Nombrar archivo
$filename = "{$database[0]}.sql";
$tempfile = date("YmdHis", time()) . ".~swap";
echo date("Y-m-d H:i", time()) . " Volcando '$filename' ... ";
// Volcar datos
system("mysqldump -h $myhost -u $myuser -p$mypass --opt {$database[0]} > $OUTDIR$tempfile");
echo "OK.\r\n"
. date("Y-m-d H:i", time()) . " Agregando '$filename' a '$outfile' ... ";
// Agregar archivo al ZIP
$zip->addFile($OUTDIR.$tempfile, $filename);
// Recordar los temporales utilizados
$DUMPFILES[] = $OUTDIR.$tempfile;
echo "OK.\r\n";
}
// Desconectar de la base de datos
// Cerrar archivo ZIP
$zip->close();
// Eliminar temporales. Importante hacerlo DESPUÉS de cerrar el ZIP
foreach($DUMPFILES as $file)
// Elminar archivos antiguos
echo date("Y-m-d H:i", time()) . " Eliminando copias antiguas...\r\n"; if ($F != "." && $F != "..")
echo date("Y-m-d H:i", time()) . " No se pudo eliminar el archivo $F.\r\n";
echo date("Y-m-d H:i", time()) . " Tarea finalizada.\r\n"; }
?>
</body>
</html>