前面已经整理了 php备份mysql数据库为.sql格式文件 ,相反的,怎样用PHP把备份好的.sql文件内容导入到MySQL数据库中呢?
先看看生成的.sql文件:
DROP TABLE IF EXISTS
jblog_class;
CREATE TABLE `jblog_class` (
insert into `jblog_class`(`id`,`classname`,`showorder`,`blogcount`)
values('1','生活杂谈','0','8');
insert into `jblog_class`(`id`,`classname`,`showorder`,`blogcount`)
values('2','Web_Design','5','6');
insert into `jblog_class`(`id`,`classname`,`showorder`,`blogcount`)
values('3','PHP相关','1','31');
insert into `jblog_class`(`id`,`classname`,`showorder`,`blogcount`)
values('6','通用代码','4','5');
insert into `jblog_class`(`id`,`classname`,`showorder`,`blogcount`)
values('7','Window技巧','6','5');
insert into `jblog_class`(`id`,`classname`,`showorder`,`blogcount`)
values('8','文摘收藏','7','11');
insert into `jblog_class`(`id`,`classname`,`showorder`,`blogcount`)
values('9','相关政策','8','3');
insert into `jblog_class`(`id`,`classname`,`showorder`,`blogcount`)
values('10','船务&物流','9','3');
在备份的时候,我将每条语句单独生成一行,这样就方便进行下面的恢复操作。我想到了下面的思路:
php读入SQL文件成字符串,每行一条语句,然后字符串转换成数组执行每句sql语句。
按照这个思路应该能实现,一步一步来:
$filename=$_GET['filename'];//恢复的源文件
$msgstr='';
$handle = @fopen("../bak/".$filename,
"r");
if ($handle) {
}
else {
}
上面代码中:
showmsg.php——显示指定提示信息$msgstr的文件模块
redir("main.php?do=rebak",3000);——页面在3秒钟之后跳转到main.php?do=rebak 地址
声明: 此文观点不代表本站立场;转载须要保留原文链接;版权疑问请联系我们。