php 截取GBK文档某个位置开始的n个字符方法
发布时间 - 2026-01-11 00:03:51 点击率:次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
# 截取GBK文档某个位置
# 详解PHP用substr函数截取字符串中的某部分
# php 在字符串指定位置插入新字符的简单实现
# php截取字符串函数分享
# php截取字符串之截取utf8或gbk编码的中英文字符串示例
# php字符串截取问题
# 给大家
# 希望能
# 这篇
# 小编
# 大家多多
# 文档
# file_size
# filesize
# gt
# len
# max
# intval
# argv
# point
# current
# byte
# rb
# exit
# fp
# fopen
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
在Oracle关闭情况下如何修改spfile的参数
活动邀请函制作网站有哪些,活动邀请函文案?
今日头条AI怎样推荐抢票工具_今日头条AI抢票工具推荐算法与筛选【技巧】
阿里云网站搭建费用解析:服务器价格与建站成本优化指南
EditPlus中的正则表达式 实战(4)
如何用PHP快速搭建高效网站?分步指南
laravel怎么使用数据库工厂(Factory)生成带有关联模型的数据_laravel Factory生成关联数据方法
Laravel表单请求验证类怎么用_Laravel Form Request分离验证逻辑教程
Laravel如何构建RESTful API_Laravel标准化API接口开发指南
广州网站制作公司哪家好一点,广州欧莱雅百库网络科技有限公司官网?
Laravel Blade组件怎么用_Laravel可复用视图组件的创建与使用
Laravel API资源(Resource)怎么用_格式化Laravel API响应的最佳实践
如何用5美元大硬盘VPS安全高效搭建个人网站?
Laravel PHP版本要求一览_Laravel各版本环境要求对照
Laravel如何生成URL和重定向?(路由助手函数)
如何在不使用负向后查找的情况下匹配特定条件前的换行符
原生JS实现图片轮播切换效果
Windows10电脑怎么查看硬盘通电时间_Win10使用工具检测磁盘健康
音响网站制作视频教程,隆霸音响官方网站?
Laravel storage目录权限问题_Laravel文件写入权限设置
javascript基本数据类型及类型检测常用方法小结
如何挑选优质建站一级代理提升网站排名?
laravel怎么为API路由添加签名中间件保护_laravel API路由签名中间件保护方法
北京的网站制作公司有哪些,哪个视频网站最好?
海南网站制作公司有哪些,海口网是哪家的?
Windows10电脑怎么设置虚拟光驱_Win10右键装载ISO镜像文件
Win11怎样安装网易有道词典_Win11安装词典教程【步骤】
如何在香港免费服务器上快速搭建网站?
Laravel如何与Pusher实现实时通信?(WebSocket示例)
浅谈redis在项目中的应用
Laravel如何处理异常和错误?(Handler示例)
如何用美橙互联一键搭建多站合一网站?
魔方云NAT建站如何实现端口转发?
如何在阿里云购买域名并搭建网站?
Laravel Facade的原理是什么_深入理解Laravel门面及其工作机制
Win11搜索不到蓝牙耳机怎么办 Win11蓝牙驱动更新修复【详解】
Laravel安装步骤详细教程_Laravel环境搭建指南
iOS验证手机号的正则表达式
香港服务器部署网站为何提示未备案?
Laravel怎么实现搜索功能_Laravel使用Eloquent实现模糊查询与多条件搜索【实例】
Laravel策略(Policy)如何控制权限_Laravel Gates与Policies实现用户授权
Laravel如何实现邮箱地址验证功能_Laravel邮件验证流程与配置
宙斯浏览器视频悬浮窗怎么开启 边看视频边操作其他应用教程
HTML 中如何正确使用模板变量为元素的 name 属性赋值
如何快速搭建虚拟主机网站?新手必看指南
怎样使用JSON进行数据交换_它有什么限制
移动端手机网站制作软件,掌上时代,移动端网站的谷歌SEO该如何做?
Chrome浏览器标签页分组怎么用_谷歌浏览器整理标签页技巧【效率】
Laravel Octane如何提升性能_使用Laravel Octane加速你的应用
如何使用 jQuery 正确渲染 Instagram 风格的标签列表
上一篇:如何查看swoole版本
下一篇:如何修改视听甘州登录密码
上一篇:如何查看swoole版本
下一篇:如何修改视听甘州登录密码

