Ver Mensaje Individual
  #1 (permalink)  
Antiguo 26/10/2004, 15:26
Avatar de andinistas
andinistas
 
Fecha de Ingreso: julio-2003
Ubicación: Bogotá COL
Mensajes: 1.000
Antigüedad: 20 años, 9 meses
Puntos: 0
Generar archivo .sql y comprimirlo

Hola tengo el siguiente script en mi servidor linux para generar un .sql de un mysqldump de una base de datos en mysql

Código PHP:
<?php

$ruta 
".";
include(
"$ruta./include/config.php");

//fijo el date de hoy
$date_month date('m');
$date_year date('Y');
$date_day date('d');
$Date "$date_year-$date_month-$date_day";

//Archivo
$filename "DB_Andinistas_$Date.sql";

//Datos BD
$usuario "usuario";
$passwd "abc123";
$bd "DB_Andinistas";

//forzo al navegador a guardar el archivo
header("Pragma: no-cache");
header("Expires: 0");
header("Content-Transfer-Encoding: binary");
header("Content-type: application/force-download");
header("Content-Disposition: attachment; filename=$filename");

// Utilización del script para windows o unix. Activar las lineas depende de cada caso

//windows
//$executa = "c:\mysql\bin\mysqldump.exe -u $usuario --password=$passwd --opt $bd";
//system($executa, $resultado);

//para Unix
$executa "mysqldump -u $usuario --password=$passwd --opt $bd";
system($executa$resultado);


if (
$resultado) { echo "<H1>Error ejecutando comando: $executa</H1>\n"; }

?>

bueno mi problema es que ya la base pesa 50 mb y transferir ese archivo .sql por http es medio tedioso porque en cualquier momento la transferencia puede fallar, y quisiera generar un .gz o .zip en compresión para reducir el tiempo de transferencia del archivo.

Estuve leyendo este tema de la FAQ pero tengo mis dudas porque el script falla. el codigo es:

Código PHP:
<?php

   $filenameIMAG
='C:/FoxServ/www/_pruebas/zlib/site.gif';
   
$filenameCOMP='C:/FoxServ/www/_pruebas/zlib/site.gif.gz';

   
/* [STEP 1] */
   
$fp fopen($filenameIMAG"rb");
   
$data fread($fpfilesize($filenameIMAG));
   
fclose($fp);
   
/* [/STEP 1] */

   /* [STEP 2] */
   
$fd fopen ($filenameCOMP"wb");
   
$gzdata gzencode($data,9);
   
fwrite($fd$gzdata);
   
fclose($fd);
   
/* [/STEP 2] */

?>
Si saben como hacer esto os agradezco...
__________________
Un Saludo, Andinistas.
"Llegaron... Ellos tenían la biblia y nosotros la tierra... y nos dijieron: 'Cierren los ojos y recen.' Cerramos los ojos y cuando los abrimos,
ellos tenían la tierra y nosotros la biblia." Abadío Green.