Ver Mensaje Individual
  #9 (permalink)  
Antiguo 04/09/2006, 17:26
Remsankar
 
Fecha de Ingreso: octubre-2003
Ubicación: Cerca de una wifi o 3G
Mensajes: 328
Antigüedad: 20 años, 5 meses
Puntos: 4
otra cosa que puedes hacer para testear mejor es sacar todo lo de los headers para ver si te muestra el sql en el navegador

lo que vi es que system() imprime en pantalla por eso no es necesario el
echo $resultado;

el el caso de que ocupes exec() podría servir pero tienes un error que te arroja mysqldump, en eso estamos claros
Código PHP:
<?
//Ponemos fecha para el nombre de la backup
$fechas date("d/m/y");
// Nombre del archivo de con el cual queremos que se guarde la base de datos
$filename $fechas.".sql"


$usuario="root";  // Usuario de la base de datos, un ejemplo podria ser 'root'
$passwd="xxx";  // Contraseña asignada al usuario
$bd="bug720";  // Nombre de la Base de Datos a exportar

// Funciones para exportar la base de datos
$executa "C:\AppServ\mysql\bin\mysqldump.exe -u $usuario --password=$passwd --opt $bd";  


// Comprobar si se a realizado bien, si no es asi, mostrará un mensaje de error
//if ($resultado) { echo "<H1>Error ejecutando comando: $executa</H1>\n"; }

if(ini_get('zlib.output_compression'))
ini_set('zlib.output_compression''Off');
    
header("Pragma: public");
    
header("Expires: 0");
    
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
    
header("Cache-Control: private",false);
    
header("Content-type: application/force-download");
    
header("Content-Disposition: filename=\"$filename\";");
    
header("Content-Transfer-Encoding: binary");

set_time_limit(0);
system($executa$resultado);


?>
Ahí si, lo revise y funciona claro que no con mysqldump :) lo probe con $executa="dir"; y si funciona

Edite el codigo ya que lo probe con mysqldump.exe y si me funciono,
estoy seguro que es por problema de permisos

Última edición por Remsankar; 04/09/2006 a las 17:50