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.
![ojotes](http://static.forosdelweb.com/fdwtheme/images/smilies/ojotes.png)
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($fp, filesize($filenameIMAG));
fclose($fp);
/* [/STEP 1] */
/* [STEP 2] */
$fd = fopen ($filenameCOMP, "wb");
$gzdata = gzencode($data,9);
fwrite($fd, $gzdata);
fclose($fd);
/* [/STEP 2] */
?>