2017-02-15 1 views
0

Я хотел бы узнать код резервного копирования MySQL db на электронную почту, например, если я нажму кнопку «отправить на мой адрес электронной почты», он выведет модальный (sb-admin бутстрап), введите свой адрес электронной почты. то он перейдет непосредственно на это письмо.Как сделать резервную копию базы данных MySQL для электронной почты с помощью PHP

+2

Что вы сделали до сих пор? покажите нам код – NID

+1

Извлеките mysql-запрос для дампа базы данных в файл на сервере, затем используйте имя файла и отправьте вложение в электронное письмо –

+0

@Bilal У меня его нет, потому что я все еще ищу подходящий код для этого. –

ответ

3

Для этого в первую очередь вам придется сбрасывать базу данных.

Вы можете использовать функцию exec() для выполнения внешней команды.

exec('mysqldump --user=... --password=... --host=... DB_NAME > /path/to/output/file.sql'); 

Это сбрасывает Db. то вам придётся приложить этот файл для отправки почты.

вы можете использовать phpmailer сделать это

Использование PHPMailer:

  • Скачать сценарий PHPMailer отсюда: http://github.com/PHPMailer/PHPMailer
  • Распакуйте архив и скопируйте папку скрипта в удобное место в вашем проекте.

  • Включить основной файл сценария - require_once ('путь/в/файл/класс.phpmailer.php');

Теперь, отправка электронной почты с вложениями идет от безумно трудно невероятно легко:

$email = new PHPMailer(); 
$email->From  = '[email protected]'; 
$email->FromName = 'Your Name'; 
$email->Subject = 'Message Subject'; 
$email->Body  = $bodytext; 
$email->AddAddress('[email protected]'); 

$file_to_attach = 'PATH_OF_YOUR_FILE_HERE'; 

$email->AddAttachment($file_to_attach , 'file.sql'); 

return $email->Send(); 
+0

Спасибо. Я попробую это. –

+0

Вам придётся внести необходимые изменения .. надеюсь, что вы получите Это сделано – NID

+1

Примечание: выгрузка больших таблиц может потребоваться для мониторинга размера файла .sql, который вы пытаетесь отправить по электронной почте. Большинство почтовых серверов имеют максимальный максимальный размер вложения прибл. 10-50Mb/файл. Вам может потребоваться промежуточный шаг, на котором вы gzip/tar, чтобы преодолеть это или сгенерировать сгенерированный файл на несколько частей и отправить их по петле. – Werner

Смежные вопросы