当前位置:  编程技术>php
本页文章导读:
    ▪PHP文本操作类       代码如下:<?php   class CtbClass {               var  $file;                       var  $index;               //建立一个文件并写入输入               function .........
    ▪怎么样可以把 phpinfo()屏蔽掉?       Q:怎么样可以把 phpinfo()屏蔽掉?  A:路径:C:\winnt(or windows)\php.ini(NT和2000)C:\windows(95,98)  在 php.ini 配置文件里面有这个选项  disable_functions = ; This directive allows you to disable certain  ;.........
    ▪如何使用PHP中的字符串函数       PHP中的字符串操作功能是比较多的,重要的有以下这些:    (1)echo,print,printf,sprintf   前两个函数是输出字符串.字符串中如果有变量名则被替换成其值.    后两个函数类似于C的同名函数.  .........

[1]PHP文本操作类
    来源: 互联网  发布时间: 2013-11-30

代码如下:
<?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);     
           }   
           //  添加数据记录到文件末端   
           function  add_write($new)  {             
                       $f=fopen($this->file,"a");           
                       flock($f,LOCK_EX);   
                       fputs($f,$new);             
                       fclose($f);     
           }     
           //  配合readfile()的返回一起使用,把一行数据转换为一维数组   
           function  make_array($line)  {   
                       $array  =  explode("\x0E",$line);   
                       return  $array;   
           }   

           //把为一维数组转换一行数据   
           function  join_array($line)  {   
                       $array  =  join("\x0E",$line);   
                       return  $array;   
           }   
           //  返回数据文件的总行数   
           function  getlines()  {   
                       $f=file($this->file);           
                       return  count($f);           
           }   
           //  返回下一行的数据记录(备用)   
           function  next_line()  {   
                       $this->index=$this->index++;           
                       return  $this->get();           
           }   

           //  返回上一行的数据记录(备用)   
           function  prev_line()  {   
                       $this->index=$this->index--;           
                       return  $this->get();           
           }       
           //  返回当前行的数据记录数据较小   
           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;           
           }       
           //  返回当前行的数据记录数据较大   
           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;           
           }       
           //  打开数据文件---以一维数组返回文件内容   
           function  read_file()  {   
                       if  (file_exists($this->file))  {   
                                   $line  =file($this->file);   
                       }   
                       return  $line;   
           }   
           //  打开数据文件---以二维数组返回文件内容   
           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;   
           }   
           //  传入一个数组,合并成一行数据,重写整个文件   
           function  overwrite($array){   
                       $newline  =  implode("\x0E",$array);               
                       $f  =  fopen($this->file,"w");   
                       flock($f,LOCK_EX);   
                       fputs($f,$newline);   
                       fclose($f);   
           }   

           //  添加一行数据记录到文件末端   
           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);     
           }           

           //  插入一行数据记录到文件最前面   
           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);   
           }   

           //  更新所有符合条件的数据记录,适用于每行字节数据较大的情况   
           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);   
           }   

           //  更新所有符合条件的数据记录,适用于每行字节数据较小的情况   
           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);   
           }   

           //  删除所有符合条件的数据记录,适用于每行字节数据较大的情况   
           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);   
           }           

           //  删除所有符合条件的数据记录,适用于每行字节数据较小的情况   
           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;   
           }   

   
           //  根据数据文件的某个字段是否包含$query_string进行查询,以二维数组返回所有符合条件的数据   
           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;   
           }   

           //  根据数据文件的某个字段是否包含$query_string进行查询,以一维数组返回第一个符合条件的数据   
           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;   
           }   

   
}  
?> 

    
[2]怎么样可以把 phpinfo()屏蔽掉?
    来源: 互联网  发布时间: 2013-11-30
Q:怎么样可以把 phpinfo()屏蔽掉? 

A:路径:C:\winnt(or windows)\php.ini(NT和2000)C:\windows(95,98) 
在 php.ini 配置文件里面有这个选项 
disable_functions = ; This directive allows you to disable certain 
; functions for security reasons. It receives 
; a comma separated list of function names. 
; This directive is *NOT* affected by whether 
; Safe Mode is turned on or off. 
改成 
disble_functions = phpinfo 

    
[3]如何使用PHP中的字符串函数
    来源: 互联网  发布时间: 2013-11-30
PHP中的字符串操作功能是比较多的,重要的有以下这些:   

(1)echo,print,printf,sprintf  
前两个函数是输出字符串.字符串中如果有变量名则被替换成其值.   
后两个函数类似于C的同名函数.  

(2)strchr,strlen,strtok,strrchr,strrev,strstr,strtolower,  
strtoupper,substr,ucfirst  
这些是常用的字符串操作函数,有些和C中的同名函数意义完全一致.   
strrev是把一个字符串翻转.  
strtolower和strtoupper的意思应该不用解释了.  
ucfirst是把字符串的第一个字符变成大写.  
substr是返回字符串的一个子串,用法是:substr(字符串,头,长度).
头位置是  从0算起的.如果是负数,则是从尾部向前数的意思.  

(3)Chr,Ord  
类似于C的同名函数.  

(4)explode,implode,join  
这些是和数组有关的函数.  
explode(字符串,分割符)返回一个将字符串在分割符处分开所产生的数组.  
implode(数组,分割符)返回一个将数组各元素之间插上分割符而成的字符串.  
join与implode意义相同.  

(5)Chop  
去掉字符串尾部的空白.  

(6)htmlspecialchars  
将字符串中的HTML特殊字符换成它们的名字,例如\"<\"变成\"<\".   

(7)nl2br  
在字符串中的每一个回车前面加上\"<BR>\".  

(8)AddSlashes,StripSlashes  
分别给字符串中需要加上\"\\"才能用于数据库查询的字符加上和去掉\"\\".   

(9)parse_str  
将\"name1=value1&name2=value2&...\"类型的字符串分析成一些变量.   
例如:  
   parse_str(\"a=1&b=2\");  
生成$a与$b两个变量,值分别为1,2.  
如果有两对名字/值的名字部分相同,则后一个的值覆盖前一个的.   
如果这两对的名字尾部都有\"[]\",例如\"a[]=1&a[]=2\",则生成数组$a,两个元素分别为1,2


    
最新技术文章:
▪PHP函数microtime()时间戳的定义与用法
▪PHP单一入口之apache配置内容
▪PHP数组排序方法总结(收藏)
▪php数组排序方法大全(脚本学堂整理奉献)
▪php数组排序的几个函数(附实例)
▪php二维数组排序(实例)
▪php根据键值对二维数组排序的小例子
▪php验证码(附截图)
▪php数组长度的获取方法(三个实例)
▪php获取数组长度的方法举例
▪判断php数组维度(php数组长度)的方法
▪php获取图片的exif信息的示例代码
▪PHP 数组key长度对性能的影响实例分析
▪php函数指定默认值的方法示例
▪php提交表单到当前页面、提交表单后页面重定...
▪php四舍五入的三种实现方法
▪php获得数组长度(元素个数)的方法
▪php日期函数的简单示例代码
▪php数学函数的简单示例代码
▪php字符串函数的简单示例代码
▪php文件下载代码(多浏览器兼容、支持中文文...
▪php实现文件下载、支持中文文件名的示例代码...
▪php文件下载(防止中文文件名乱码)的示例代码
▪解决PHP文件下载时中文文件名乱码的问题
▪php数组去重(一维、二维数组去重)的简单示例
▪php小数点后取两位的三种实现方法
▪php Redis 队列服务的简单示例
▪PHP导出excel时数字变为科学计数的解决方法
▪PHP数组根据值获取Key的简单示例
▪php数组去重的函数代码示例
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3