"; $mail_from = "Mon joli blog "; $mail_subject = "[DB DUMP] ". date('d/m/Y'); $mail_body = "Servi tout chaud, votre dump de base de données ! \\o/"; /** PAS BESOIN DE TOUCHER A CE QUI SUIT. **/ /** @function mail_attached Un pompage éhonté de la fonction de J. Coggeshall. Pourquoi ré-inventer la roue ? Par flemme, je ne détaille pas les arguments. Leurs noms sont suffisamment parlant à mon goût... Comme rien ne vaut l'original : * Homepage de John : http://www.coggeshall.org/ * Url de l'article : http://www.theukwebdesigncompany.com/articles/php-file-attachments.php */ function mail_attached($to, $from, $subject, $message, $filename, $headers = '') { $unique_sep = md5(uniqid(time())); $headers .= "From: $from\n". "MIME-Version: 1.0\nContent-Type: multipart/mixed;boundary=\"$unique_sep\";\n". "charset=\"iso-8859-1\"\nContent-Transfer-Encoding:7bit\n\n". "--$unique_sep\n". "Content-Type: text/plain; charset=\"iso-8859-1\"\n". "Content-Transfer-Encoding: 7bit\n\n". $message."\n\n"; if (is_array($filename)) { foreach ($filename as $val) { if(file_exists($val['file'])) { $headers .= "--$unique_sep\n". "Content-Type: {$val['mimetype']}; ". "name=\"{$val['filename']}\"\n". "Content-Transfer-Encoding: base64\n". "Content-Disposition: attachment\n\n"; $filedata = file_get_contents($val['file']); $headers .= chunk_split(base64_encode($filedata)); } else { print("probleme fichier : ".$val['file']." inexistant"); return(false); } } } else { print("probleme : pas de fichiers transmis ou variable erronee"); return(false); } $headers .= "--$unique_sep--\n"; return(mail($to, $subject, $message, $headers)); } /** C'est ici que ça se passe... */ // Connexion MySQL $con = new Connection(DB_USER,DB_PASS,DB_HOST,DB_DBASE); $files[0]['file'] = DC_SHARE_DIR.'/mysql/'.dbdump::saveDump(false, '', '', true); $files[0]['mimetype'] = 'application/x-gzip'; $files[0]['filename'] = 'dbdump_'.date('Y-m-d').".sql.gz"; if (mail_attached($mail_to, $mail_from, $mail_subject, $mail_body, $files)) { print("Fichier de dump envoyé"); unlink($files[0]['file']); } else { print("Erreur avec le fichier de dump"); } $con->close(); ?>