php导入还原sql文件功能示例(仿phpmyadmin导入)

  • 来源:
  • 更新日期:2018-04-24

摘要:摘要: 这次我们用php来给自己写一个导出数据库sql文件的功能,因为有些时候,我们租用的廉价虚拟主机不一定提供phpmyadmin的权限,这个时候,只能靠自己了。

 

前面提到过,网站后台里数据库的备份和还原(导出和导入)是一个非常重要的功能。在 MySQL数据库导入和导出的多种方法这篇文章里已经介绍过。还是那句话,这次我们用php来给自己写一个导出数据库sql文件的功能,因为有些时候,我们租用的廉价虚拟主机不一定提供phpmyadmin的权限,这个时候,只能靠自己了。下面开始上代码:

timg (1).jpg

一般导入sql文件的功能都是先选择一个sql文件上传到服务端,这里省略文件上传的过程,假设文件已经上传到服务端。如果需要php文件上传功能示例教程的朋友稍等一会儿,以后很快更新,下面先上执行sql文件的代码:

<?php header(\'Content-type:text/html;charset=utf-8\'); //配置数据库信息 $db_h=\'localhost\'; $db_u=\'root\'; $db_p=\'\'; $db_n=\'wenda\';//数据库名称 $db_char=\'utf8\'; $sql_file=\'test.sql\';//需导入的sql文件路径(文件名) $link=mysql_connect($db_h,$db_u,$db_p); mysql_query(\'setnames\'.$db_char); mysql_select_db($db_n); $lines=file($sql_file);//读取文件到数组$lines echo\'正在导入sql...<br>\'; $sqlstr="";//声明sql语句字符串 //处理数组$lines,去掉注释行,放入$sqlstr中 foreach($linesas$line){ $line=trim($line); if($line!=""){ if((substr($line,0,1)!="#"&&substr($line,0,2)!="--")){ $sqlstr.=$line; } } } $sqlstr=preg_replace("//*.**//is","",$sqlstr);//去掉/**/注释 //处理$sqlstr,用分号分成单句sql语句 $sqlstr=rtrim($sqlstr,";"); $sqls=explode(";",$sqlstr); //循环遍历执行$sqls里的sql语句 foreach($sqlsas$sql){ if(mysql_query($sql)){ echo\'执行成功!=><br>\'.substr($sql,0,50).\'<br>\'; }else{ echo\'执行失败!=><br>\'.mysql_error().\'<br>\'; } } echo\'导入完成!\';

 

这样我们就能自己写一个sql文件导入还原的功能了。以上代码示例供大家学习用,实际使用的时候注意考虑安全问题。