php 截取GBK文档某个位置开始的n个字符方法
cut.php:
#!/usr/bin/php =$file_size)exit; $fp=fopen(INPUT_FILE,'rb'); $point=0;//currentbyteposition $string=''; while(ftell($fp)<$file_size){ if($point>=$pos+$len)break;$byte=fread($fp,1); //phpversion>=5.4 $char=unpack('C',$byte)[1]; if($char<=0x7f){ //singlebyte if($point>=$pos)$string.=$byte; $point+=1; continue; }else{ //doublebytes if($point>=$pos){ $string.=$byte.fread($fp,1); }else{ fseek($fp,1,SEEK_CUR); } $point+=1; continue; } } fclose($fp); file_put_contents(OUTPUT_FILE,$string); ?>
源文件t.txt内容:
dkei20王nnso
测试命令:
./cut.php61
查看结果:
hexdump-Ct.txt&&hexdump-Ca.txt
以上这篇php截取GBK文档某个位置开始的n个字符方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。