php 截取GBK文档某个位置开始的n个字符方法

 更新时间:2017年03月08日 11:08:22   投稿:jingxian  
下面小编就为大家带来一篇php 截取GBK文档某个位置开始的n个字符方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

cut.php:

#!/usr/bin/php
<?php
define('INPUT_FILE', 't.txt');
define('OUTPUT_FILE', 'a.txt');
$pos = max(intval($argv[1]), 0); 
$len = max(intval($argv[2]), 0); 
$file_size = filesize(INPUT_FILE);
if($pos >= $file_size) exit;
$fp = fopen(INPUT_FILE, 'rb');
$point = 0; //current byte position
$string = ''; 
while(ftell($fp) < $file_size) {
  if($point >= $pos + $len) break;$byte = fread($fp, 1); 
  //php version >= 5.4
  $char = unpack('C', $byte)[1];
  if($char <= 0x7f) {
    //single byte
    if($point >= $pos) $string .= $byte;
    $point += 1;
    continue;
  } else {
    //double bytes
    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.php 6 1

查看结果:

hexdump -C t.txt && hexdump -C a.txt

以上这篇php 截取GBK文档某个位置开始的n个字符方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • php使用get_class_methods()函数获取分类的方法

    php使用get_class_methods()函数获取分类的方法

    这篇文章主要介绍了php使用get_class_methods()函数获取分类的方法,结合实例形式分析了get_class_methods()函数获取类中成员方法的使用技巧,需要的朋友可以参考下
    2016-07-07
  • PHP简单实现记录网站访问量功能示例

    PHP简单实现记录网站访问量功能示例

    这篇文章主要介绍了PHP简单实现记录网站访问量功能,涉及php针对文件加锁读写及日期时间转换等相关操作技巧,需要的朋友可以参考下
    2018-06-06
  • PHP Class&Object -- 解析PHP实现二叉树

    PHP Class&Object -- 解析PHP实现二叉树

    本篇文章是对PHP中二叉树的实现代码进行详细的分析介绍,需要的朋友参考下
    2013-06-06
  • PHP页面实现定时跳转的方法

    PHP页面实现定时跳转的方法

    这篇文章主要介绍了PHP页面实现定时跳转的方法,实例演示使用header函数来实现跳转的技巧,需要的朋友可以参考下
    2014-10-10
  • 轻松实现php文件上传功能

    轻松实现php文件上传功能

    这篇文章主要教大家轻松实现php文件上传功能,利用PHP可以把文件上传到服务器,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-02-02
  • php使用GD创建保持宽高比缩略图的方法

    php使用GD创建保持宽高比缩略图的方法

    这篇文章主要介绍了php使用GD创建保持宽高比缩略图的方法,涉及php使用GD库操作图片的技巧,需要的朋友可以参考下
    2015-04-04
  • php实现的二叉树遍历算法示例

    php实现的二叉树遍历算法示例

    这篇文章主要介绍了php实现的二叉树遍历算法,结合具体实例形式分析了php针对二叉树的常用前序、中序及后序遍历算法实现技巧,需要的朋友可以参考下
    2017-06-06
  • php自动获取关键字的方法

    php自动获取关键字的方法

    这篇文章主要介绍了php自动获取关键字的方法,通过自定义函数tiqukeyword实现关键字的自动获取功能,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-01-01
  • PHP执行php.exe -v命令报错的解决方案

    PHP执行php.exe -v命令报错的解决方案

    这篇文章主要介绍了PHP执行php.exe -v命令报错的解决方案,文中通过图文讲解的非常详细,对大家的学习或工作有一定的帮助,需要的朋友可以参考下
    2024-12-12
  • 浅谈PHP强制类型转换,慎用!

    浅谈PHP强制类型转换,慎用!

    本篇文章是对PHP强制类型转换慎用进行了详细的分析介绍,需要的朋友参考下
    2013-06-06

最新评论