您当前的位置: 首页 > 网站编程 > PHP教程 > 一键导出MySQL数据库PHP代码

一键导出MySQL数据库PHP代码

作者:不详 来源:网络 发布时间: 2014-07-15 22:30 点击:
很多时候,我们的用户要导出整个数据库到一个SQL文件,用来备份。虽然phpMyAdmin或者Navicat有这个功能,但用户一般想要操作更简单,不愿意去使用工具。这时候我们就可以考虑以下一键导出MySQL数据库的php代码。 新建一个名为backup.php的文件,复制粘贴以下代码,然后

一键导出MySQL数据库PHP代码

  很多时候,我们的用户要导出整个数据库到一个SQL文件,用来备份。虽然phpMyAdmin或者Navicat有这个功能,但用户一般想要操作更简单,不愿意去使用工具。这时候我们就可以考虑以下一键导出MySQL数据库的php代码。

  新建一个名为backup.php的文件,复制粘贴以下代码,然后编辑数据库连接设置和mysqldump的路径。有必要的话,你还可以添加一个backup.php超链接到你的程序里:

  <A href="backup.php">导出整个数据库</A>

  请注意,第一个php代码执行的时候,会导出zip压缩后的sql文件,所以此代码所在文件夹需要可写的权限。

  如果你没有写的权限,请使用第二个php代码,缺点是导出的sql文件不会被zip压缩。

  此代码需要可写权限:

  <?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

  ob_start();

  $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

  $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();

  // send dump file to the output

  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();]]>

  ?>
分享到:
本文"一键导出MySQL数据库PHP代码"由远航站长收集整理而来,仅供大家学习与参考使用。更多网站制作教程尽在远航站长站。
顶一下
(0)
0%
踩一下
(0)
0%
[点击 次] [返回上一页] [打印]
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 密码: 验证码:
关于本站 - 联系我们 - 网站声明 - 友情连接- 网站地图 - 站点地图 - 返回顶部
Copyright © 2007-2013 www.yhzhan.com(远航站长). All Rights Reserved .
远航站长:为中小站长提供最佳的学习与交流平台,提供网页制作与网站编程等各类网站制作教程.
官方QQ:445490277 网站群:26680406 网站备案号:豫ICP备07500620号-4