SQL文件切割器 v0.00001

<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>$rowtotalbreak;
        }
        
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>$rowtotalbreak;
        }
        
$block++;
    }
    
echo "<br><br><br>OoooooooooK,全部完成~";
}
else{
echo "指定的 $filename 不存在,请检查.....";
}

?>
</html>
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值