做网站的时候 我们会制作一个安装文件 就需要用到sql文件创建数据库。
分享一下 我所用的方法。只对phpmyadmin导出的sql文件有效
$dbfile="test.sql";
$content=iconv("UTF-8","GB2312",file_get_contents($dbfile));
//获取创建的数据
//去掉注释
$content=preg_replace("/--.*\n/iU","",$content);
//替换前缀
$content=str_replace("ct_",TABLE_PRE,$content);
$carr=array();
$iarr=array();
//提取create
preg_match_all("/Create table .*\(.*\).*\;/iUs",$content,$carr);
$carr=$carr[0];
foreach($carr as $c)
{
@mysql_query($c,$link);
}
//提取insert
preg_match_all("/INSERT INTO .*\(.*\)\;/iUs",$content,$iarr);
$iarr=$iarr[0];
//插入数据
foreach($iarr as $c)
{
@mysql_query($c,$link);
}