var $file; var $index;

//建立一個文件并寫入輸入 function null_write($new) " /> japanese色系,成人欧美视频免费看黄黄,在线观看精品视频一区二区三区

一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

PHP文本操作類

復(fù)制代碼 代碼如下:<?php  
class CtbClass {   

           var  $file;           
           var  $index;       

       //建立一個文件并寫入輸入   
           function  null_write($new)   
           {   
                       $f=fopen($this->file,"w");           
                       flock($f,LOCK_EX);   
                       fputs($f,$new);           
                       fclose($f);     
           }   
           //  添加數(shù)據(jù)記錄到文件末端   
           function  add_write($new)  {             
                       $f=fopen($this->file,"a");           
                       flock($f,LOCK_EX);   
                       fputs($f,$new);             
                       fclose($f);     
           }     
           //  配合readfile()的返回一起使用,把一行數(shù)據(jù)轉(zhuǎn)換為一維數(shù)組   
           function  make_array($line)  {   
                       $array  =  explode("/x0E",$line);   
                       return  $array;   
           }   

           //把為一維數(shù)組轉(zhuǎn)換一行數(shù)據(jù)   
           function  join_array($line)  {   
                       $array  =  join("/x0E",$line);   
                       return  $array;   
           }   
           //  返回數(shù)據(jù)文件的總行數(shù)   
           function  getlines()  {   
                       $f=file($this->file);           
                       return  count($f);           
           }   
           //  返回下一行的數(shù)據(jù)記錄(備用)   
           function  next_line()  {   
                       $this->index=$this->index++;           
                       return  $this->get();           
           }   

           //  返回上一行的數(shù)據(jù)記錄(備用)   
           function  prev_line()  {   
                       $this->index=$this->index--;           
                       return  $this->get();           
           }       
           //  返回當(dāng)前行的數(shù)據(jù)記錄數(shù)據(jù)較小   
           function  get()  {   
                       $f=fopen($this->file,"r");           
                       flock($f,LOCK_SH);   
                       for($i=0;$i<=$this->index;$i++)  {   
                                   $rec=fgets($f,1024);           
                       }   
                       $line=explode("/x0E",$rec);   
                       fclose($f);   
                       return  $line;           
           }       
           //  返回當(dāng)前行的數(shù)據(jù)記錄數(shù)據(jù)較大   
           function  get_big_file()  {   
                       $f=fopen($this->file,"r");           
                       flock($f,LOCK_SH);   
                       for($i=0;$i<=$this->index;$i++)  {   
                                   $rec=fgets($f,1024*5);           
                       }   
                       $line=explode("/x0E",$rec);   
                       fclose($f);   
                       return  $line;           
           }       
           //  打開數(shù)據(jù)文件---以一維數(shù)組返回文件內(nèi)容   
           function  read_file()  {   
                       if  (file_exists($this->file))  {   
                                   $line  =file($this->file);   
                       }   
                       return  $line;   
           }   
           //  打開數(shù)據(jù)文件---以二維數(shù)組返回文件內(nèi)容   
           function  openFile()  {   
                       if  (file_exists($this->file))  {   
                                   $f  =file($this->file);   
                                   $lines  =  array();   
                                   foreach  ($f  as  $rawline)  {   
                                               $tmpline  =  explode("/x0E",$rawline);   
                                               array_push($lines,  $tmpline);   
                                   }   
                       }   
                       return  $lines;   
           }   
           //  傳入一個數(shù)組,合并成一行數(shù)據(jù),重寫整個文件   
           function  overwrite($array){   
                       $newline  =  implode("/x0E",$array);               
                       $f  =  fopen($this->file,"w");   
                       flock($f,LOCK_EX);   
                       fputs($f,$newline);   
                       fclose($f);   
           }   

           //  添加一行數(shù)據(jù)記錄到文件末端   
           function  add_line($array,$check_n=1)  {       
                       $s=implode("/x0E",$array);           
                       $f=fopen($this->file,"a");           
                       flock($f,LOCK_EX);   
                       fputs($f,$s);           
                       if  ($check_n==1)  fputs($f,"/n");           
                       fclose($f);     
           }           

           //  插入一行數(shù)據(jù)記錄到文件最前面   
           function  insert_line($array)  {   
                       $newfile  =  implode("/x0E",$array);   
                       $f  =  fopen($this->file,"r");   
                       flock($f,LOCK_SH);   
                       while  ($line  =  fgets($f,1024))  {   
                                   $newfile  .=  $line;   
                       }   
                       fclose($f);   
                       $f  =  fopen($this->file,"w");   
                       flock($f,LOCK_EX);   
                       fputs($f,$newfile);   
                       fclose($f);   
           }   

           //  更新所有符合條件的數(shù)據(jù)記錄,適用于每行字節(jié)數(shù)據(jù)較大的情況   
           function  update($column,$query_string,$update_array)  {   
                       $update_string  =  implode("/x0E",$update_array);         
                       $newfile  =  "";               
                       $fc=file($this->file);   
                       $f=fopen($this->file,"r");   
                       flock($f,LOCK_SH);   
                       for  ($i=0;$i<count($fc);$i++)  {   
                                   $list  =  explode("/x0E",$fc[$i]);   
                                   if  ($list[$column]  !=  $query_string)  {   
                                               $newfile  =  $newfile.chop($fc[$i])."/n";   
                                   }  else  {   
                                               $newfile  =  $newfile.$update_string;   
                                   }   
                       }   
                       fclose($f);   
                       $f=fopen($this->file,"w");   
                       flock($f,LOCK_EX);   
                       fputs($f,$newfile);   
                       fclose($f);   
           }   

           //  更新所有符合條件的數(shù)據(jù)記錄,適用于每行字節(jié)數(shù)據(jù)較小的情況   
           function  update2($column,$query_string,$update_array)  {   
                       $newline  =  implode("/x0E",$update_array);         
                       $newfile  =  "";   
                       $f  =  fopen($this->file,"r");   
                       flock($f,LOCK_SH);   
                       while  ($line  =  fgets($f,1024))  {   
                                   $tmpLine  =  explode("/x0E",$line);   
                                   if  ($tmpLine[$column]  ==  $query_string)  {   
                                               $newfile  .=  $newline;   
                                   }  else  {   
                                               $newfile  .=  $line;   
                                   }   
                       }   
                       fclose($f);   
                       $f  =  fopen($this->file,"w");   
                       flock($f,LOCK_EX);   
                       fputs($f,$newfile);   
                       fclose($f);   
           }   

           //  刪除所有符合條件的數(shù)據(jù)記錄,適用于每行字節(jié)數(shù)據(jù)較大的情況   
           function  delete($column,$query_string)  {   
                       $newfile  =  "";               
                       $fc=file($this->file);   
                       $f=fopen($this->file,"r");   
                       flock($f,LOCK_SH);   
                       for  ($i=0;$i<count($fc);$i++)  {   
                                   $list  =  explode("/x0E",$fc[$i]);   
                                   if  ($list[$column]  !=  $query_string)  {   
                                               $newfile  =  $newfile.chop($fc[$i])."/n";   
                                   }   
                       }   
                       fclose($f);   
                       $f=fopen($this->file,"w");   
                       flock($f,LOCK_EX);   
                       fputs($f,$newfile);   
                       fclose($f);   
           }           

           //  刪除所有符合條件的數(shù)據(jù)記錄,適用于每行字節(jié)數(shù)據(jù)較小的情況   
           function  delete2($column,$query_string){       
                       $newfile  =  "";   
                       $f  =  fopen($this->file,"r");   
                       flock($f,LOCK_SH);   
                       while  ($line  =  fgets($f,1024))  {   
                                   $tmpLine  =  explode("/x0E",$line);   
                                   if  ($tmpLine[$column]  !=  $query_string)  {   
                                               $newfile  .=  $line;   
                                   }   
                       }   
                       fclose($f);   
                       $f  =  fopen($this->file,"w");   
                       flock($f,LOCK_EX);   
                       fputs($f,$newfile);   
                       fclose($f);   
           }   

       //取得一個文件里某個字段的最大值   
           function  get_max_value($column)  {   
                       $tlines  =  file($this->file);   
                       for  ($i=0;$i<=count($tlines);$i++)  {   
                                   $line=explode("/x0E",$tlines[$i]);   
                                   $get_value[]=$line[$column];   
                       }   
               $get_max_value  =  max($get_value);   
                       return  $get_max_value;   
           }   

   
           //  根據(jù)數(shù)據(jù)文件的某個字段是否包含$query_string進(jìn)行查詢,以二維數(shù)組返回所有符合條件的數(shù)據(jù)   
           function  select($column,  $query_string)  {   
                       $tline  =  $this->openfile();   
                       $lines  =  array();   
                       foreach  ($tline  as  $line)  {   
                                   if  ($line[$column]  ==  $query_string)  {   
                                               array_push($lines,  $line);   
                                   }   
                       }   

                       return  $lines;   
           }   

           //  功能與function  select()一樣,速度可能略有提升   
           function  select2($column,  $query_string)  {   
                       if  (file_exists($this->file))  {   
                                   $tline  =  $this->read_file();   
                                   foreach  ($tline  as  $tmpLine)  {   
                                               $line  =  $this->make_array($tmpLine);   
                                               if  ($line[$column]  ==  $query_string)  {   
                                                           $lines[]=$tmpLine;   
                                               }   
                                   }   
                       }   

                       return  $lines;   
           }   

           //  根據(jù)數(shù)據(jù)文件的某個字段是否包含$query_string進(jìn)行查詢,以一維數(shù)組返回第一個符合條件的數(shù)據(jù)   
           function  select_line($column,  $query_string)  {   
                       $tline  =  $this->read_file();   
                       foreach  ($tline  as  $tmpLine)  {   
                                   $line  =  $this->make_array($tmpLine);   
                                   if  ($line[$column]  ==  $query_string)  {   
                                       return  $line;   
                                               break;   
                                   }   
                       }   
           }   
           //  select  next/prev  line(next_prev  ==>  1/next,  2/prev)  by  cx   
           function  select_next_prev_line($column,  $query_string,  $next_prev)  {   
                       $tline  =  $this->read_file();   
                       $line_key_end  =  count($tline)  -  1;   
                       $line_key  =  -1;   
                       foreach  ($tline  as  $tmpLine)  {   
                                   $line_key++;   
                                   $line  =  $this->make_array($tmpLine);   
                                   if  ($next_prev  ==  1)  {    //  next?   
                                               if  ($line[$column]  ==  $query_string)  {   
                                                           if  ($line_key  ==  0)  {   
                                                                       return  0;   
                                                           }  else  {   
                                                                       $line_key_up  =  $line_key  -  1;   
                                                                       return  $up_line;   
                                                           }   
                                               }  else  {   
                                                           $up_line  =  $line;   
                                               }   
                                   }  elseif  ($next_prev  ==  2)  {    //  prev?   
                                               if  ($line[$column]  ==  $query_string)  {   
                                                           if  ($line_key  ==  $line_key_end)  {   
                                                                       return  0;   
                                                           }  else  {   
                                                                       $line_key_down  =  $line_key  +  1;   
                                                                       break;   
                                                           }   
                                               }   
                                   }  else  {   
                                               return  0;   
                                   }   
                       }   
                       $down_line  =  $this->make_array($tline[$line_key_down]);   
                       return  $down_line;   
           }   

   
}  
?> 

php技術(shù)PHP文本操作類,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 日本三级韩国三级美三级91 | 韩国日本理论片 | www.好吊操 | 亚洲乱亚洲乱妇41p国产成人 | 国产精品视频一区二区三区小说 | 亚洲成人77777| 色久悠悠影院 | 色播在线播放 | 人人免费人人专区 | 91草莓视频在线观看 | 成人免费在线视频观看 | 国产成人 免费观看 | 久久有码中文字幕 | 激情视频免费网站 | 久久久久久综合 | 亚洲欧洲视频在线 | 成人毛片基地 | 一级做a爰片久久毛片16 | 99久久伊人一区二区yy5099 | 伊人狼人综合 | 亚洲精品综合久久 | 四虎精品免费永久在线 | 国产美女一区二区 | 好吊妞视频一区二区 | 欧美激情视频在线观看一区二区三区 | 97国产成人精品免费视频 | 国产成人女人在线视频观看 | 91色视 | 色播视频在线观看 | 色久悠悠影院 | 极品销魂一区二区三区 | 一级毛片免费不卡 | 黄色片网站免费在线观看 | 九九精品视频在线观看 | 亚洲国产精品久久网午夜 | 国产精品99精品久久免费 | 亚洲一区二区三区四 | 中文字幕亚洲国产 | 一级做a爰片性色毛片武则天五则 | 精品国产自在现线久久 | 国产精品美女网站在线看 |