温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

php怎么截取文档某个位置开始的n个字符

发布时间:2021-08-09 18:18:12 阅读:122 作者:chen 栏目:开发技术
PHP开发者专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

这篇文章主要介绍“php怎么截取文档某个位置开始的n个字符”,在日常操作中,相信很多人在php怎么截取文档某个位置开始的n个字符问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”php怎么截取文档某个位置开始的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_sizeexit;
$fp fopen(INPUT_FILE, 'rb');
$point 0//current byte position
$string ''while(ftell($fp) < $file_size) {
  if($point >= $pos $lenbreak;$byte fread($fp1); 
  //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($fp1); 
    } else {
      fseek($fp1, 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怎么截取文档某个位置开始的n个字符”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

php
AI

开发者交流群×