Ver Mensaje Individual
  #1 (permalink)  
Antiguo 11/06/2013, 11:34
kmisb
 
Fecha de Ingreso: junio-2013
Mensajes: 4
Antigüedad: 10 años, 10 meses
Puntos: 0
error en el unlink

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 original
  1. Notice: Use of undefined constant zip - assumed 'zip' in C:\xampp\htdocs\40\p61.php on line 92
  2.  
  3. Warning: unlink(/../copia/20130611192419.~swapzip): No such file or directory in C:\xampp\htdocs\40\p61.php on line 92
  4.  
  5. Notice: Use of undefined constant zip - assumed 'zip' in C:\xampp\htdocs\40\p61.php on line 92
  6.  
  7. Warning: unlink(/../copia/20130611192419.~swapzip): No such file or directory in C:\xampp\htdocs\40\p61.php on line 92
  8.  
  9. Notice: Use of undefined constant zip - assumed 'zip' in C:\xampp\htdocs\40\p61.php on line 92
  10.  
  11. Warning: unlink(/../copia/20130611192419.~swapzip): No such file or directory in C:\xampp\htdocs\40\p61.php on line 92
  12.  
  13. Notice: Use of undefined constant zip - assumed 'zip' in C:\xampp\htdocs\40\p61.php on line 92
  14.  
  15. Warning: unlink(/../copia/20130611192419.~swapzip): No such file or directory in C:\xampp\htdocs\40\p61.php on line 92
  16.  
  17. Notice: Use of undefined constant zip - assumed 'zip' in C:\xampp\htdocs\40\p61.php on line 92
  18.  
  19. 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
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5. <title>Documento sin título</title>
  6. </head>
  7.  
  8. <body>
  9.  
  10.  
  11. <form id="dbbackup" name="formparaBackup" method="post" action=""><br />
  12. Host:
  13. <input type="text" name="mysqlhost" value="" /><br />
  14. Nombre de usuario MySQL:
  15. <input type="text" name="mysqlusuari" value="" /><br />
  16. Password MySQL:
  17. <input type="password" name="mysqlpass" value="" /><br /><br />
  18.     <input type="submit" name="enviar" id="enviar" value="Enviar" />
  19. </form>
  20.  
  21.  
  22.  
  23. <?php
  24.  
  25.  
  26. #############################################
  27. #
  28. # Tarea de copia seguridad de todas las bases de datos en MySQL
  29. #
  30. # CopyLeft, puedes hacer con este script lo que te de la gana
  31. #
  32. #############################################
  33. if (isset($_POST['enviar'])){
  34. echo date("Y-m-d H:i", time()) . " Creando copia de seguridad MySQL...\r\n";
  35.  
  36. // Datos de acceso a MySQL
  37. $myhost = $_POST['mysqlhost'];
  38. $myuser = $_POST['mysqlusuari'];
  39. $mypass = $_POST['mysqlpass'];
  40. $DB = mysql_connect($myhost, $myuser, $mypass) or die(date("Y-m-d H:i", time()) . " ERROR!! No se pudo conectar a MySQL.\r\n");
  41.  
  42. // Otros parámetros
  43. $OUTDIR = "/../copia/"; // Cambiar segun necesidades y tipo servidor
  44. $now = date("YmdHi", time());
  45. $outfile = "MySQL_$now.zip";
  46. $periodo = time() - 259200; // Los archivos anteriores a este periodo (3 dias = 259200 segundos) serán borrados
  47.  
  48. // Crear nuevo archivo ZIP
  49. # Más información sobre la clase PHP
  50. # http://es.php.net/manual/en/class.ziparchive.php
  51. echo date("Y-m-d H:i", time()) . " Creando '$OUTDIR$outfile.zip' ... ";
  52. $zip = new ZipArchive;
  53. if (!$zip->open("$OUTDIR$outfile", ZIPARCHIVE::CREATE)) die("ERROR!!\r\n");
  54. echo "OK.\r\n";
  55.  
  56. // Tomar un listado de bases de datos
  57. $q = mysql_query("SHOW DATABASES");
  58.  
  59. // Volcar todas las bases
  60. while ($database = mysql_fetch_row($q))
  61.     if ($database[0] != "information_schema" && $database[0] != "mysql")
  62.         {
  63.         // Nombrar archivo
  64.         $filename = "{$database[0]}.sql";
  65.         $tempfile = date("YmdHis", time()) . ".~swap";
  66.  
  67.         echo date("Y-m-d H:i", time()) . " Volcando '$filename' ... ";
  68.  
  69.         // Volcar datos
  70.         system("mysqldump -h $myhost -u $myuser -p$mypass --opt {$database[0]} > $OUTDIR$tempfile");
  71.  
  72.         echo "OK.\r\n"
  73.         . date("Y-m-d H:i", time()) . " Agregando '$filename' a '$outfile' ... ";
  74.  
  75.         //  Agregar archivo al ZIP
  76.         $zip->addFile($OUTDIR.$tempfile, $filename);
  77.  
  78.         // Recordar los temporales utilizados
  79.         $DUMPFILES[] = $OUTDIR.$tempfile;
  80.  
  81.         echo "OK.\r\n";
  82.         }
  83.  
  84. // Desconectar de la base de datos
  85.  
  86. // Cerrar archivo ZIP
  87. $zip->close();
  88.  
  89. // Eliminar temporales. Importante hacerlo DESPUÉS de cerrar el ZIP
  90. foreach($DUMPFILES as $file)
  91.     unlink($file);
  92.    
  93.  
  94. // Elminar archivos antiguos
  95. echo date("Y-m-d H:i", time()) . " Eliminando copias antiguas...\r\n";
  96. $D = opendir($OUTDIR);
  97. while ($F = readdir($D))
  98.     if ($F != "." && $F != "..")
  99.         if (filectime($OUTDIR.$F) < $periodo)
  100.             if (!unlink($OUTDIR.$F))
  101.                 echo date("Y-m-d H:i", time()) . " No se pudo eliminar el archivo $F.\r\n";        
  102.  
  103. echo date("Y-m-d H:i", time()) . " Tarea finalizada.\r\n";
  104. }
  105. ?>
  106. </body>
  107. </html>