最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

PHP文本操作類

 更新時(shí)間:2006年11月25日 00:00:00   作者:  

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

           var  $file;           
           var  $index;       

       //建立一個(gè)文件并寫入輸入   
           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;   
           }   
           //  返回?cái)?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;   
           }   
           //  傳入一個(gè)數(shù)組,合并成一行數(shù)據(jù),重寫整個(gè)文件   
           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);   
           }   

       //取得一個(gè)文件里某個(gè)字段的最大值   
           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ù)文件的某個(gè)字段是否包含$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ù)文件的某個(gè)字段是否包含$query_string進(jìn)行查詢,以一維數(shù)組返回第一個(gè)符合條件的數(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;   
           }   

   
}  
?> 

相關(guān)文章

  • php中cURL?error?60:SSL?certificate?problem:?unable?to?get?local?issuer?certificate問題的解決方法

    php中cURL?error?60:SSL?certificate?problem:?unable?to?

    PHP中cURL錯(cuò)誤60通常表示SSL證書問題,即無法獲取本地頒發(fā)機(jī)構(gòu)證書,這通常是由于cURL無法驗(yàn)證遠(yuǎn)程服務(wù)器的SSL證書導(dǎo)致的,本給大家介紹了如何解決php中cURL?error?60,需要的朋友可以參考下
    2023-12-12
  • 使用GROUP BY的時(shí)候如何統(tǒng)計(jì)記錄條數(shù) COUNT(*) DISTINCT

    使用GROUP BY的時(shí)候如何統(tǒng)計(jì)記錄條數(shù) COUNT(*) DISTINCT

    在有g(shù)roup by的時(shí)候,如何統(tǒng)計(jì)結(jié)果記錄的數(shù)量?需要的朋友可以參考下。
    2011-04-04
  • PHP 實(shí)現(xiàn)多服務(wù)器共享 SESSION 數(shù)據(jù)

    PHP 實(shí)現(xiàn)多服務(wù)器共享 SESSION 數(shù)據(jù)

    稍大一些的網(wǎng)站,通常都會有好幾個(gè)服務(wù)器,每個(gè)服務(wù)器運(yùn)行著不同功能的模塊,使用不同的二級域名,而一個(gè)整體性強(qiáng)的網(wǎng)站,用戶系統(tǒng)是統(tǒng)一的,即一套用戶名、密碼在整個(gè)網(wǎng)站的各個(gè)模塊中都是可以登錄使用的。
    2009-08-08
  • 改寫函數(shù)實(shí)現(xiàn)PHP二維/三維數(shù)組轉(zhuǎn)字符串

    改寫函數(shù)實(shí)現(xiàn)PHP二維/三維數(shù)組轉(zhuǎn)字符串

    將多維數(shù)組中所有的數(shù)值轉(zhuǎn)換成字符串最多支持三維數(shù)組,在給定的示例函數(shù)基礎(chǔ)上改寫出了的,感興趣的朋友可以參考下,希望對大家有所幫助
    2013-09-09
  • php cookie中點(diǎn)號(句號)自動轉(zhuǎn)為下劃線問題

    php cookie中點(diǎn)號(句號)自動轉(zhuǎn)為下劃線問題

    這篇文章主要介紹了php cookie中點(diǎn)號(句號)自動轉(zhuǎn)為下劃線問題,需要的朋友可以參考下
    2014-10-10
  • 深入for,while,foreach遍歷時(shí)間比較的詳解

    深入for,while,foreach遍歷時(shí)間比較的詳解

    本篇文章是對for,while,foreach遍歷時(shí)間比較進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-06-06
  • PHP 安全檢測代碼片段(分享)

    PHP 安全檢測代碼片段(分享)

    本篇文章是對PHP安全檢測代碼的片段進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-07-07
  • 利用Dockerfile文件部署php項(xiàng)目的全過程

    利用Dockerfile文件部署php項(xiàng)目的全過程

    環(huán)境部署一直是一個(gè)很大的問題,無論是開發(fā)環(huán)境還是生產(chǎn)環(huán)境,但是Docker將開發(fā)環(huán)境和生產(chǎn)環(huán)境以輕量級方式打包,提供了一致的環(huán)境,下面這篇文章主要給大家介紹了關(guān)于利用Dockerfile文件部署php項(xiàng)目的相關(guān)資料,需要的朋友可以參考下
    2022-07-07
  • php動態(tài)生成縮略圖并輸出顯示的方法

    php動態(tài)生成縮略圖并輸出顯示的方法

    這篇文章主要介紹了php動態(tài)生成縮略圖并輸出顯示的方法,涉及php操作圖片的相關(guān)技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2015-04-04
  • php設(shè)計(jì)模式介紹之值對象模式

    php設(shè)計(jì)模式介紹之值對象模式

    在所有的最簡單的程序中,大多數(shù)對象都有一個(gè)標(biāo)識,一個(gè)重要的商業(yè)應(yīng)用對象,例如一個(gè)Customer或者一個(gè)SKU,有一個(gè)或者更多的屬性---id,name,email地址,這樣可以把它從同一個(gè)類的其他實(shí)例區(qū)分開來。此外,對象有一個(gè)恒定的標(biāo)識:它是貫穿于整個(gè)應(yīng)用程序的一個(gè)唯一的標(biāo)識,對于程序員來說,”customer A”在任何地方就是”customer A”,并且只要你的程序在持續(xù)運(yùn)行時(shí)"customer A"仍然是"customer A"。 但是一個(gè)對象不需要有一個(gè)標(biāo)識。有些對象僅僅是為了描述其他對象的屬性。
    2008-04-04

最新評論

孟村| 嫩江县| 蒙自县| 弥勒县| 革吉县| 临邑县| 无为县| 海原县| 上林县| 康平县| 万盛区| 新绛县| 定南县| 桃园市| 龙海市| 轮台县| 赞皇县| 蛟河市| 清丰县| 云南省| 社会| 松阳县| 红河县| 曲松县| 五寨县| 镇康县| 麻栗坡县| 开化县| 谷城县| 安陆市| 公主岭市| 嘉鱼县| 湾仔区| 高台县| 祥云县| 夹江县| 南康市| 沁源县| 永德县| 咸阳市| 大港区|