Foros del Web » Programando para Internet » PHP »

No puedo comprimir en ZIP un Backup

Estas en el tema de No puedo comprimir en ZIP un Backup en el foro de PHP en Foros del Web. Tengo este código, ¿se podría convertir en ZIP a la hora de guardarlo? No entiendo mucho sobre esto, si me pueden ayudar se los agradezco. ...
  #1 (permalink)  
Antiguo 28/07/2011, 22:16
 
Fecha de Ingreso: mayo-2010
Mensajes: 102
Antigüedad: 14 años
Puntos: 1
No puedo comprimir en ZIP un Backup

Tengo este código, ¿se podría convertir en ZIP a la hora de guardarlo? No entiendo mucho sobre esto, si me pueden ayudar se los agradezco.

Código PHP:
Ver original
  1. <?php
  2. include('conect.php');
  3.  
  4. function datadump ($table) {
  5.     $result .= "# Tabla ".$table." \n";
  6.     $result .= "# Fecha: " . date("d-M-Y") ."\n\n";
  7.     $query = mysql_query("select * from ".$table);
  8.     $num_fields = @mysql_num_fields($query);
  9.     $numrow = mysql_num_rows($query);
  10.     while($row=mysql_fetch_array($query)) {
  11.   $result .= "INSERT INTO ".$table." VALUES(";
  12.     for($j=0; $j<$num_fields; $j++) {
  13.     $row[$j] = addslashes($row[$j]);
  14.     $row[$j] = ereg_replace("\n","\\n",$row[$j]);
  15.     if (isset($row[$j])) $result .= "\"$row[$j]\"" ; else $result .= "\"\"";
  16.     if ($j<($num_fields-1)) $result .= ",";
  17.    }    
  18.       $result .= ");\n";
  19.      }
  20.      return $result . "\n\n\n";
  21.   }
  22.  $qry2=mysql_list_tables($db);
  23.  $tot_tablas=mysql_num_rows($qry2);
  24.  for($i=0;$i<$tot_tablas;$i++){
  25.  $nombre_tabla=mysql_tablename($qry2,$i);
  26.  $content.=datadump($nombre_tabla);
  27.  }  
  28. $file_name = "Backup (".date('Y-m-d').").sql";
  29. header( "Content-Type: application/octet-stream");  
  30. header( "Content-Disposition: attachment; filename=".$file_name."");  
  31. echo $content;  
  32.  
  33. mysql_close($link);
  34. ?>
  #2 (permalink)  
Antiguo 28/07/2011, 22:23
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: No puedo comprimir en ZIP un Backup

Claro que es posible, consulta la extensión ZIP:
http://php.net/zip
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 28/07/2011, 22:32
 
Fecha de Ingreso: mayo-2010
Mensajes: 102
Antigüedad: 14 años
Puntos: 1
Respuesta: No puedo comprimir en ZIP un Backup

¿¿ Tengo que utilizar la función "addFile" ??

He encontrado este ejemplo:

Código PHP:
<?php
$zip 
= new ZipArchive;
if (
$zip->open('test.zip') === TRUE) {
    
$zip->addFile('/path/to/index.txt''newname.txt');
    
$zip->close();
    echo 
'ok';
} else {
    echo 
'failed';
}
?>
y lo he modificado asi:

Código PHP:
Ver original
  1. <?php
  2. include('conect.php');
  3.  
  4. function datadump ($table) {
  5.     $result .= "# Tabla ".$table." \n";
  6.     $result .= "# Fecha: " . date("d-M-Y") ."\n\n";
  7.     $query = mysql_query("select * from ".$table);
  8.     $num_fields = @mysql_num_fields($query);
  9.     $numrow = mysql_num_rows($query);
  10.     while($row=mysql_fetch_array($query)) {
  11.   $result .= "INSERT INTO ".$table." VALUES(";
  12.     for($j=0; $j<$num_fields; $j++) {
  13.     $row[$j] = addslashes($row[$j]);
  14.     $row[$j] = ereg_replace("\n","\\n",$row[$j]);
  15.     if (isset($row[$j])) $result .= "\"$row[$j]\"" ; else $result .= "\"\"";
  16.     if ($j<($num_fields-1)) $result .= ",";
  17.    }    
  18.       $result .= ");\n";
  19.      }
  20.      return $result . "\n\n\n";
  21.   }
  22.  $qry2=mysql_list_tables($db);
  23.  $tot_tablas=mysql_num_rows($qry2);
  24.  for($i=0;$i<$tot_tablas;$i++){
  25.  $nombre_tabla=mysql_tablename($qry2,$i);
  26.  $content.=datadump($nombre_tabla);
  27.  }  
  28. $file_name = "Backup (".date('Y-m-d').").sql";
  29.  
  30.  
  31. $zip = new ZipArchive;
  32. if ($zip->open('Backup ('.date('Y-m-d').').zip') === TRUE) {
  33.     $zip->addFile(''.$file_name.'', ''.$file_name.'');
  34.     $zip->close();
  35.     echo 'ok';
  36. } else {
  37.     echo 'failed';
  38. }
  39.  
  40. echo $content;  
  41.  
  42. mysql_close($link);
  43. ?>

¿Me aproximo? No entiendo mucho...

Etiquetas: mysql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:46.