Donc voici ton code :
$host = "dbxxx.1and1.fr";
$user = "dboxxxxxx";
$pass = "xxxxxx"; // On définit les infos de la base de données
$db = "xxxxxx";
$date = date("d-m-Y"); // On définit le variable $date ( ici son format )
$backup = "cooldone_bdd-backup_".$date.".sql.gz";
// Utilise les fonctions système : MySQLdump & GZIP pour générer un backup gzipé
$command = "mysqldump -h$host -u$user -p$pass $db | gzip> $backup";
system($command);
// Démarre la procédure de téléchargement
// [1]
$taille = filesize($backup);
header("Pragma: public");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Cache-Control: public");
header("Content-Description: File Transfer");
header("Content-Type: application/gzip");
header("Content-Disposition: attachment; filename=$backup;");
header("Content-Transfer-Encoding: binary");
header("Content-Length: ".$taille);
@readfile($backup);
// Supprime le fichier temporaire du serveur
unlink($backup);
il faut changer ton code à partir de [1]
rappel des variables : $backup => contient ton dump
donc on l'injecte directement :
if (file_put_contents ( 'lefichieraveclabonnextension' , $backup) !== FALSE)
{
echo 'Sauvegarde ok';
}
else
{
echo 'sauvegarde failed'
}
Code fait de tête

Bye hawk
Edit :
En réfléchissant plus de 30 secondes cela ne sert a rien ce que je t'ai indiqué...
regarde plutôt du cotés de :
rename( $backup , 'jesuislebonfichier/a/la/bonneadresse.tar.gz' );