php生成的mysql备份

来源:互联网 发布:淘宝app修改评价 编辑:程序博客网 时间:2024/05/21 03:55


需要可写权限的backup.php文件

执行的时候,会导出zip压缩后的sql文件,所以此代码所在文件夹需要可写的权限。
<?php

   

$username "root"

$password ""

$hostname "localhost"

$dbname   "cars";

   

// if mysqldump is on the system path you do not need to specify the full path

// simply use "mysqldump --add-drop-table ..." in this case

$dumpfname $dbname "_" date("Y-m-d_H-i-s").".sql";

$command = "C:\\xampp\\mysql\\bin\\mysqldump --add-drop-table --host=$hostname

    --user=$username ";

if ($password

        $command.= "--password="$password ." "

$command.= $dbname;

$command.= " > " $dumpfname;

system($command);

   

// zip the dump file

$zipfname $dbname "_" date("Y-m-d_H-i-s").".zip";

$zip new ZipArchive();

if($zip->open($zipfname,ZIPARCHIVE::CREATE)) 

{

   $zip->addFile($dumpfname,$dumpfname);

   $zip->close();

}

   

// read zip file and send it to standard output

if (file_exists($zipfname)) {

    header('Content-Description: File Transfer');

    header('Content-Type: application/octet-stream');

    header('Content-Disposition: attachment; filename='.basename($zipfname));

    flush();

    readfile($zipfname);

    exit;

}

?>

此代码不需要可写权限:


如果你没有写的权限,请使用第二个php代码,缺点是导出的sql文件不会被zip压缩。
01<?php
02ob_start();
03   
04$username "root"
05$password ""
06$hostname "localhost"
07$dbname   "cars";
08   
09// if mysqldump is on the system path you do not need to specify the full path
10// simply use "mysqldump --add-drop-table ..." in this case
11$command = "C:\\xampp\\mysql\\bin\\mysqldump --add-drop-table --host=$hostname
12    --user=$username ";
13if ($password
14        $command.= "--password="$password ." "
15$command.= $dbname;
16system($command);
17   
18$dump = ob_get_contents(); 
19ob_end_clean();
20   
21// send dump file to the output
22header('Content-Description: File Transfer');
23header('Content-Type: application/octet-stream');
24header('Content-Disposition: attachment; filename='.basename($dbname "_" 
25    date("Y-m-d_H-i-s").".sql"));
26flush();
27echo $dump;
28exit();]]>
29?>
原创粉丝点击