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

PHP文本操作類

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

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

           var  $file;           
           var  $index;       

       //建立一個(gè)文件并寫(xiě)入輸入   
           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;           
           }       
           //  打開(kāi)數(shù)據(jù)文件---以一維數(shù)組返回文件內(nèi)容   
           function  read_file()  {   
                       if  (file_exists($this->file))  {   
                                   $line  =file($this->file);   
                       }   
                       return  $line;   
           }   
           //  打開(kāi)數(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ù),重寫(xiě)整個(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問(wèn)題的解決方法

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

    PHP中cURL錯(cuò)誤60通常表示SSL證書(shū)問(wèn)題,即無(wú)法獲取本地頒發(fā)機(jī)構(gòu)證書(shū),這通常是由于cURL無(wú)法驗(yàn)證遠(yuǎn)程服務(wù)器的SSL證書(shū)導(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)站,通常都會(huì)有好幾個(gè)服務(wù)器,每個(gè)服務(wù)器運(yùn)行著不同功能的模塊,使用不同的二級(jí)域名,而一個(gè)整體性強(qiáng)的網(wǎng)站,用戶系統(tǒng)是統(tǒng)一的,即一套用戶名、密碼在整個(gè)網(wǎng)站的各個(gè)模塊中都是可以登錄使用的。
    2009-08-08
  • 改寫(xiě)函數(shù)實(shí)現(xiàn)PHP二維/三維數(shù)組轉(zhuǎn)字符串

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

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

    php cookie中點(diǎn)號(hào)(句號(hào))自動(dòng)轉(zhuǎn)為下劃線問(wèn)題

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

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

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

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

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

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

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

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

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

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

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

最新評(píng)論

广汉市| 津市市| 海兴县| 茌平县| 罗定市| 蕉岭县| 蒙阴县| 鹤山市| 辽阳县| 环江| 泾川县| 鲁甸县| 河池市| 桐梓县| 梓潼县| 东海县| 通河县| 元氏县| 乡城县| 白水县| 广汉市| 卓资县| 阿勒泰市| 波密县| 米林县| 顺昌县| 秀山| 南乐县| 兰州市| 古田县| 太白县| 霞浦县| 遂宁市| 仁寿县| 原平市| 蒙阴县| 资中县| 阿克陶县| 汕尾市| 志丹县| 隆林|