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