php中文本操作的类

  给大家一个简单的文本操作的类

  我以前写的,不过一直都没机会用了,文本不如数据库

  数据是以行保存的,以\n结尾,注意你输入的数据必须以"\n"结尾的,这是几个最基本的类成员,文本的特别要注意效率问题,比如你要更新文件的2,3,4行,用:

  for($i=2;$i<=4;$i++)$this->update($file,$i,$msg);不如这样的:

  $data=$this->read($file);

  for($i=2;$i<=4;$i++)$data[$i]=$msg;

  $this->write($file,$data); 的

  class text{

  var $key="<?die;?>"; //数据保护

  var $keylen; //数据保护长度

  function text() //类的构造器

  {

  $this->keylen=strlen($this->lkeylen); //得到保护长度

  }

  function read($file) //读文件,返回一个数组

  {

  if(file_exists($file)):

  $data=@file($file);

  $data[0]=substr($data[0],$this->keylen);

  return $a;

  endif;

  }

  function write($file,$data=array()) //写文件,数据为一个数组

  {

  if($fp=fopen($file,"w")):

  flock($fp,3);

  fwrite($fp,$this->key);

  foeach($data as $v)fwrite($fp,$v);

  return true;

  endif;

  }

  function add($file,$msg)

  //向文件最后添加数据(不存在就先建立文件)

  {

  $a=$this->read($file); //这个不管文件存在不

  $a[]=$msg;

  return $this->write($file,$a);

  }

  function insert($file,$n,$msg) //向第$n前插入数据

  {

  if($a=$this->read($file)):

  $a[$n]=$msg.$a[$n];

  return true;

  endif;

  }

  function updata($file,$n,$msg) //更新$n数据

  {

  if($a=$this->read($file)):

  $a[$n]=$msg;

  return true;

  endif

  }

  function del($file,$n) //删除$n数据

  {

  return $this->updata($file,$n,"");

  }

  }