首页 > 代码库 > PHP导出MYSQL数据库并压缩
PHP导出MYSQL数据库并压缩
PHP可以一键导出MYSQL备份文件,并压缩存放,尽管phpMyAdmin有这功能,不过若你自己开发网站或者是为别人写CMS,你不应该要求别人用你程序的时候再去另外用phpMyAdmin备份MYSQL,这应该是你CMS中的一个功能,那么PHP如何实现一键备份MYSQL数据,这里是指把MYSQL内容全部导出成SQL文件,然后压缩SQL,介绍两种方法如下:
第一种:
<?php$username = "root";//你的MYSQL用户名$password = "";//密码$hostname = "localhost";//MYSQL服务器地址$dbname = "cars";//数据库名$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文件$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();}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文件,如mysqlbak.php,注意,此文件必须有写权限。为了使用方便,你可以在后台给此文件一个链接,需要导出MYSQL时,你只需点击一下就执行备份导出操作。
第二种方法:不需要写权限,但不压缩SQL文件,代码如下:
<?phpob_start();$username = "root";$password = "";$hostname = "localhost";$dbname = "test";$command = "C:\\xampp\\mysql\\bin\\mysqldump --add-drop-table --host=$hostname --user=$username ";if ($password) $command.= "--password=". $password ." ";$command.= $dbname;system($command);$dump = ob_get_contents();ob_end_clean();header(‘Content-Description: File Transfer‘);header(‘Content-Type: application/octet-stream‘);header(‘Content-Disposition: attachment; filename=‘.basename($dbname . "_" . date("Y-m-d_H-i-s").".sql"));flush();echo $dump;exit();?>
两种方法你可以选用一种,同样可将第二种方法保存成mysqlbak.php文件,在后台给个链接,用着方便。
PHP导出MYSQL数据库并压缩
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。