经常在有的PHP开源系统中,看到有备份数据库并导出的方法,其实代码不复杂,下面
大概讲解下,以WINDOWS为例子,两类方法,一个是目录文件夹要有执行脚本权限的,
一个个是没有权限的,代码如下:
一)
Java代码
1.
2.
3. $username = "root";
4. $password = "";
5. $hostname = "localhost";
6. $dbname = "test";
7.
8.
9. $dumpfname = $dbname . "_" . date("Y-m-d_H-i-s").".sql";
10. $command = "C:\\xampp\\mysql\\bin\\mysqldump --add-drop-table --host=$hostname
11. --user=$username ";
12. if ($password)
13. $command.= "--password=". $password ." ";
14. $command.= $dbname;
15. $command.= " > " . $dumpfname;
16. system($command);
17.
18. // zip 数据文件
19. $zipfname = $dbname . "_" . date("Y-m-d_H-i-s").".zip";
20. $zip = new ZipArchive();
21. if($zip->open($zipfname,ZIPARCHIVE::CREATE))
22. {
23. $zip->addFile($dumpfname,$dumpfname);
24. $zip->close();
25. }
26.
27. // read zip file and send it to standard output
28. if (file_exists($zipfname)) {
29. header('Content-Description: File Transfer');
30. header('Content-Type: application/octet-stream');
31. header('Content-Disposition: attachment; filename='.basename($zipfname));
32. flush();
33. readfile($zipfname);
34. exit;
35. }
36. ?>
方法2 文件夹没相关权限
Java代码
1.
2. ob_start();
3.
4. $username = "root";
5. $password = "";
6. $hostname = "localhost";
7. $dbname = "test";
8.
9. $command = "C:\\xampp\\mysql\\bin\\mysqldump --add-drop-table --host=$hostname
10. --user=$username ";
11. if ($password)
12. $command.= "--password=". $password ." ";
13. $command.= $dbname;
14. system($command);
15.
16. $dump = ob_get_contents();
17. ob_end_clean();
18.
19.
20. //不ZIP了
21. header('Content-Description: File Transfer');
22. header('Content-Type: application/octet-stream');
23. header('Content-Disposition: attachment; filename='.basename($dbname . "_" .
24. date("Y-m-d_H-i-s").".sql"));
25. flush();
26. echo $dump;
27. exit();]]>
28. ?>
摘自 jackyrong

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

VSCode Windows 64位 下载
微软推出的免费、功能强大的一款IDE编辑器

螳螂BT
Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

ZendStudio 13.5.1 Mac
功能强大的PHP集成开发环境

Dreamweaver Mac版
视觉化网页开发工具

MinGW - 适用于 Windows 的极简 GNU
这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。