PHP文件操作之,插入某行,删除某行,获取行号

原创 2013年12月06日 10:58:52
#在需要查找的内容后一行新起一行插入内容
     function insertAfterTarget($filePath, $insertCont, $target)
     {
         $result = null;
         $fileCont = file_get_contents($filePath);
          $targetIndex = strpos($fileCont, $target); #查找目标字符串的坐标
  
          if ($targetIndex !== false) {
              #找到target的后一个换行符
             $chLineIndex = strpos(substr($fileCont, $targetIndex), "\n") + $targetIndex;
             if ($chLineIndex !== false) {
                 #插入需要插入的内容
                 $result = substr($fileCont, 0, $chLineIndex + 1) . $insertCont . "\n" . substr($fileCont, $chLineIndex + 1);
                 $fp = fopen($filePath, "w+");
                 fwrite($fp, $result);
                 fclose($fp);
             }
         }
19     }
 
     #删除内容所在的某一行
     function delTargetLine($filePath, $target)
     {
         $result = null;
25         $fileCont = file_get_contents($filePath);
         $targetIndex = strpos($fileCont, $target); #查找目标字符串的坐标
 
         if ($targetIndex !== false) {
             #找到target的前一个换行符
             $preChLineIndex = strrpos(substr($fileCont, 0, $targetIndex + 1), "\n");
             #找到target的后一个换行符
             $AfterChLineIndex = strpos(substr($fileCont, $targetIndex), "\n") + $targetIndex;
             if ($preChLineIndex !== false && $AfterChLineIndex !== false) {
                 #重新写入删掉指定行后的内容
                 $result = substr($fileCont, 0, $preChLineIndex + 1) . substr($fileCont, $AfterChLineIndex + 1);
                 $fp = fopen($filePath, "w+");
                 fwrite($fp, $result);
                 fclose($fp);
             }
         }
     }
 
     #获取某段内容的行号
     /**
      * @param $filePath
      * @param $target   待查找字段
      * @param bool $first   是否再匹配到第一个字段后退出
      * @return array
      */
     function getLineNum($filePath, $target, $first = false)
     {
         $fp = fopen($filePath, "r");
         $lineNumArr = array();
         $lineNum = 0;
         while (!feof($fp)) {
             $lineNum++;
             $lineCont = fgets($fp);
             if (strstr($lineCont, $target)) {
                if($first) {
                     return $lineNum;
                 } else {
                     $lineNumArr[] = $lineNum;
                }
             }
         }
         return $lineNumArr;
     }

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

PHP文件操作 - 替换某行,插入某行,删除某行,获取行号

PHP文件操作 - 替换某行,插入某行,删除某行,获取行号
  • ztguang
  • ztguang
  • 2016年10月29日 22:18
  • 1342

表格删除某行后行号不连续问题解决办法

ExtJS自带表格组件中的行号,  new Ext.create('Ext.grid.RowNumberer',{'text':'行号',flex:1}), var tagGrid=Ext.crea...

在 GridView的RowCommand事件中取得相应的行号,主键值与某行某列的值

前台GridView中模板列的代码如下 ,在GridView中添加了一个模板列,模板列中放了一个ImageButton按钮,如下: ' ImageUrl="~/Ima...

修改文件中某行数据

  • 2015年09月02日 10:08
  • 208KB
  • 下载

指定many2many某行不删除

  • 2016年12月09日 10:21
  • 3KB
  • 下载

POI 实现Excel文件中点击超链接跳转到某sheet页某列某行的功能

转载自:http://blog.csdn.net/u014232091/article/details/23710391(原文为原创) POI 实现Excel文件中点击超链接跳转到某shee...

没有选择Debug构建方式,为文件的某行设置断点可能会失败

没有选择Debug构建方式,为文件的某行设置断点可能会失败 提供了几种解决方案...

行式填报表删除某行流水号更新方法

润乾V4 润乾报表 行式填报表 删除行 流水号更新

jquery获取table中的某行全部td的内容方法

function Bind(thisObj, thisObjID) { alert("Bind"); var $td = $(thisObj).parents('tr').childr...

CListCtrl 详解 获取列数 获取总行数 修改某行的数值

1.获取CListCtrl 列数   //m_List是一个CListCtrl CHeaderCtrl*   pHeaderCtrl   =   m_List.GetHeaderCtrl(...
  • wyx100
  • wyx100
  • 2012年09月10日 13:14
  • 1743
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:PHP文件操作之,插入某行,删除某行,获取行号
举报原因:
原因补充:

(最多只允许输入30个字)