조회 : 136
텍스트를 라인 기준으로 나누기
split을 찾아봤는데 대부분 용량으로 나누는 거라서
심심도 했고.. 해서 만들어봤음.
cli 용입니다.
즉, 커맨트 창에서 사용하는거예요.
그리고 파일 이름 잘못 처리하는 버그 있으니.. 주의
소스
<?
ini_set('memory_limit','10M'); //10MB의 메모리 사용
$argv = $_SERVER['argv'];
$argc = $_SERVER['argc'];
//print_r($argv );
if($argc<3){
echo "EX1 : php php_text_line_split.php FILENAME CUTLINE\n";
echo "EX2 : php_text_line_split.exec FILENAME CUTLINE";
exit();
}
if(!is_numeric($argv[2])){
exit('ERROR : prameter 3 is must INT number.');
}
$F = $argv[1];
$CL = (int)$argv[2];
$F_out = '';
echo "[S]처리시작\n";
echo "처리파일 : {$F}\n";
echo "라인제한 : {$CL}\n";
echo "----------------\n";
$fp = @fopen($F,'r');
if(!$fp){
exit('ERROR : file open failed.');
}
$icont = 0;
$fcount = 0;
//$F_arr = pathinfo($F);
//$F_arr['filename']
//$F_arr['extension']
$F_out_form = preg_replace('/(\.[^\.]*)$/','.{!!COUNT!!}$1',$F);
while (!feof($fp)) {
if($icont==0){
$F_out = str_replace('{!!COUNT!!}',sprintf('%03d',$fcount),$F_out_form);
echo "[+]{$F_out} 파일생성\n";
$fp_out = fopen($F_out ,'w');
}else if($icont >= $CL){
if(isset($fp_out)){
fclose($fp_out);
}
$icont = 0;
$fcount++;
$F_out = str_replace('{!!COUNT!!}',sprintf('%03d',$fcount),$F_out_form);
echo "[+]{$F_out} 파일생성\n";
$fp_out = fopen($F_out ,'w');
}
$icont++;
fwrite($fp_out,fgets($fp, 8192));
}
if(isset($fp_out)){
fclose($fp_out);
}
fclose($fp);
echo "[E]처리완료\n";
?>
제목 | 작성자 | 날짜 |
---|---|---|
공대여자 | ||
공대여자 | ||
mins01 | ||
curl 사용 예제
1
1
|
공대여자 | |
공대여자 | ||
공대여자 | ||
공대여자 | ||
공대여자 | ||
PHPExcel
1
6
|
공대여자 | |
공대여자 | ||
공대여자 | ||
공대여자 | ||
공대여자 | ||
공대여자 | ||
공대여자 | ||
공대여자 | ||
공대여자 | ||
공대여자 |