<html><head><title>SQL文件切割器 v0.00001</title></head><?php///////////////////////////////////////////////昨天用myAdmin导入数据库的时候,因为数据库文件大于了2M,所以失败了//手动?太麻烦了,上网找个分割文件的工具,太笨了,没找到,就自己//这是一个主要用来分割备份的mysql数据库文件,现在还非常简陋,<img src="images/smilies/frown.gif" border="0" alt="">//它通过文件的回车符来判别行数,可以判别此行是否为一句完整的sql语句,//如果不是的话,就继续读取下一行....//嗯...就是这样了..现在还不能指定保存的范围,有时间会写吧...//哦对,我是thenorman.com/bbs混的坛主Norman///////////////////////////////////////////////每次读取多少行的代码,以"/n"来分辨$per=4000;//生成的文件由三部分组成,序号+前缀+文件名$pre='_';//要切割的文件名,要和程序放在同一个目录,而且此目录要有可写权$filename='lr_gwa.sql';$start=0;$block=0;//$end=;if(!isset($start)) $start=0;if(!isset($block)) $block=0;if(file_exists($filename)){//文件存在则 $array=file($filename); $rowtotal=sizeof($array); echo "数据库文件共有 <font color=red><b>".$rowtotal."</b></font> 行.<br>"; echo "现在开始分割文件,please wait... <br><br>"; while($start<$rowtotal){ $fp=fopen("$block$pre$filename","a+"); $i=$start; if($i+$per>$rowtotal){ echo "写入 $i 到 ".$rowtotal." 行到$block$pre$filename....."; }else{ echo "写入 $i 到 ".($start+$per)." 行到$block$pre$filename....."; } while($i<($start+$per)){ @fwrite($fp,$array[$i]); $i++; if($i>$rowtotal) break; } echo "完成<br><br>"; $start=$i; fclose($fp); while(@strlen($array[$start-1])==(@strrpos($array[$start-1],";")+1)){ $addfp=fopen("$block$pre$filename","a+"); @fwrite($addfp,$array[$start]); $start++; if($start>$rowtotal) break; } $block++; } echo "<br><br><br>OoooooooooK,全部完成~";}else{echo "指定的 $filename 不存在,请检查.....";}?></html>