php中文本操作的类

yipeiwu_com6年前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,"");
}
}

相关文章

最准确的php截取字符串长度函数

最准确的php截取字符串长度函数

说是最精确截取长度,其实我也不敢确定是否是最精确的,具体有多精确看下面的效果就知道了: 先上测试用的字符串: <?php header("Content-Type:...

php Memcache 中实现消息队列

对于一个很大的消息队列,频繁进行进行大数据库的序列化 和 反序列化,有太耗费。下面是我用PHP 实现的一个消息队列,只需要在尾部插入一个数据,就操作尾部,不用操作整个消息队列进行读取,与...

使用Zttp简化Guzzle 调用

Zttp 是 Adam Wathan 为了让代码更富表现力以及简化常见用例而写的一个 Guzzle 的封装。 这是使用 Zttp 去 Post 一个自定义头部内容请求的一个例子:...

PHP中你可能忽略的性能优化利器:生成器

PHP中你可能忽略的性能优化利器:生成器

前言 如果是做Python或者其他语言的小伙伴,对于生成器应该不陌生。但很多PHP开发者或许都不知道生成器这个功能,可能是因为生成器是PHP 5.5.0才引入的功能,也可以是生成器作用不...

使用PHP实现二分查找算法代码分享

第一种方法: 【二分查找要求】:1.必须采用顺序存储结构 2.必须按关键字大小有序排列。    【优缺点】折半查找法的优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表...