<?php
/*************************************************
^^^^^^^^文本数据库自定义函数集0.2测试版^^^^^^^^^^^
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
此函数集适用于:以文本格式存储数据,以一行为一条记录,以分隔符分隔字段的文本结构数据库。
联系方法:xbrid@163.com
技术支持:http://PHPLink.126.com
版权所有:PHP初学者联盟,未经允许不得删除版权信息
程序编写:xbrid
修改日期:2003.04.30
**************************************************/
/*
使用方法:
注意:在文本数据库中,如果使用关键字,此关键字最好要唯一,否则其删除修改时只会操作第一条记录。
text_append($filename,$linecon)→数据追加函数,返回1为成功,0为不成功
text_locate($filename,$keyword,$cutword,$colnum)→数据查找函数,如果查找到则返回此条记录,否则返回0
text_delete($filename,$keyword,$cutword,$colnum)→数据删除函数,如果有此记录则删除并返回1,否则返回0
text_modify($filename,$keyword,$cutword,$colnum,$modify)→数据修改函数,如果有此记录并修改成功返回1,否则返回0
text_insert($filename,$keyword,$cutword,$colnum,$insert)→数据插入函数,插入在关键字记录前
text_insertb($filename,$keyword,$cutword,$colnum,$insert)→数据插入函数,插入在关键字记录前
text_sort($filename,$cutword,$colnum,$mode)→数据排序函数,排序后文件被排序后生成的文件覆盖
text_select($filename,$keyword,$cutword,$colnum)→多条记录查找函数,返回多条与关键字相同的记录
text_find($filename,$keyword,$cutword,$colnum)→模糊查询函数,返回字段中包含关键字的所有记录
$filename→文件名
$linecon→要追加的内容
$keyword→查找或删除等操作时使用的关键字,此关键字要唯一。
$cutword→分隔符
$colnum→关键字(字段)所在的列,列是从0开始排列的
$modify→要修改的内容
修改或追加的内容要与本函数库适用的格式相符合
*/
//数据库追加函数
function text_append($filename,$linecon)
{
$fp=fopen($filename,"a");
flock($fp,2);
$file=fwrite($fp,$linecon);
fclose($fp);
return $file;
}
//文本数据库查找函数→结果是返回第一条记录
function text_locate($filename,$keyword,$cutword,$colnum)
{
$filelist=file($filename);
$listnum=count($filelist);
for ($i=0;$i<$listnum;$i++) {
$list=explode($cutword,$filelist[$i]);
if ($keyword==$list[$colnum]) {
return $list;
}
}
return 0;
}
//文本数据库删除记录函数
function text_delete($filename,$keyword,$cutword,$colnum)
{
$filelist=file($filename);
$listnum=count($filelist);
$fp=fopen($filename,"w");
flock($fp,2);
$yesno=1;
for ($i=0;$i<$listnum;$i++) {
$list=explode($cutword,$filelist[$i]);
if ($keyword==$list[$colnum] and $yesno==1) {
$yesno=0;
$returnkey=1;
continue;
}
fputs($fp,$filelist[$i]);
}
fclose($fp);
if (empty($returnkey)) $returnkey=0;
return $returnkey;
}
//文本数据库修改记录函数
function text_modify($filename,$keyword,$cutword,$colnum,$modify)
{
$filelist=file($filename);
$listnum=count($filelist);
$fp=fopen($filename,"w");
flock($fp,2);
$yesno=1;
for ($i=0;$i<$listnum;$i++) {
$list=explode($cutword,$filelist[$i]);
if ($keyword==$list[$colnum] and $yesno==1) {
fputs($fp,$modify);
$yesno=0;
$returnkey=1;
continue;
}
fputs($fp,$filelist[$i]);
}
fclose($fp);
if (empty($returnkey)) $returnkey=0;
return $returnkey;
}
//文本数据库插入记录函数→插入以关键字为记录的前面
function text_insert($filename,$keyword,$cutword,$colnum,$insert)
{
$filelist=file($filename);
$listnum=count($filelist);
$fp=fopen($filename,"w");
flock($fp,2);
for ($i=0;$i<$listnum;$i++) {
$list=explode($cutword,$filelist[$i]);
if ($keyword==$list[$colnum]) {
fputs($fp,$insert);
}
fputs($fp,$filelist[$i]);
}
fclose($fp);
}
//文本数据库插入记录函数→插入以关键字为记录的后面
function text_insertb($filename,$keyword,$cutword,$colnum,$insert)
{
$filelist=file($filename);
$listnum=count($filelist);
$fp=fopen($filename,"w");
flock($fp,2);
for ($i=0;$i<$listnum;$i++) {
fputs($fp,$filelist[$i]);
$list=explode($cutword,$filelist[$i]);
if ($keyword==$list[$colnum]) {
fputs($fp,$insert);
$returnkey=1;
}
}
fclose($fp);
if (empty($returnkey)) $returnkey=0;
return $returnkey;
}
//文本数据库排序
function text_sort($filename,$cutword,$colnum,$mode)
{
$list=file($filename);
for ($i=0;$i<count($list);$i++) {
$list1= explode($cutword, $list[$i]);
$list2[($list[$i])]=$list1[$colnum];
}
if ($mode=="a") {
@asort($list2);
@reset($list2);
}
if ($mode=="d") {
@arsort($list2);
@reset($list2);
}
for ($all=0;$all<=count($list2);$all++) {
$newlist[] = key($list2);
if (!(next($list2))) break;
}
$fp=fopen($filename,"w");
flock($fp,2);
$listnum=count($newlist);
for ($i=0;$i<$listnum;$i++) {
fputs($fp,$newlist[$i]);
}
fclose($fp);
}
//文本数据库多条记录查找函数→返回所有与关键字相同的数据
function text_select($filename,$keyword,$cutword,$colnum)
{
$filelist=file($filename);
$listnum=count($filelist);
for ($i=0;$i<$listnum;$i++) {
$list=explode($cutword,$filelist[$i]);
if ($keyword==$list[$colnum]) {
$newlist[]=$filelist[$i];
}
}
if (empty($newlist)) return 0;
else return $newlist;
}
//文本数据库模糊查找函数→返回所有包含关键字的数据
function text_find($filename,$keyword,$cutword,$colnum)
{
$filelist=file($filename);
$listnum=count($filelist);
for ($i=0;$i<$listnum;$i++) {
$list=explode($cutword,$filelist[$i]);
if (eregi($keyword,$list[$colnum])) {
$newlist[]=$filelist[$i];
}
}
if (empty($newlist)) return 0;
else return $newlist;
}
//自定义的数组排序
function array_sort($list,$cutword,$colnum,$mode)
{
for ($i=0;$i<count($list);$i++) {
$list1= explode($cutword, $list[$i]);
$list2[$list[$i]]=$list1[$colnum];
}
if ($mode=="a") {
@asort($list2);
@reset($list2);
}
if ($mode=="d") {
@arsort($list2);
@reset($list2);
}
for ($all=0;$all<count($list2);$all++) {
$newlist[]=key($list2);
if (!(next($list2))) break;
}
return $newlist;
}
/*************************************************
^^^^^^^^文本数据库自定义函数集0.2测试版^^^^^^^^^^^
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
此函数集适用于:以文本格式存储数据,以一行为一条记录,以分隔符分隔字段的文本结构数据库。
联系方法:xbrid@163.com
技术支持:http://PHPLink.126.com
版权所有:PHP初学者联盟,未经允许不得删除版权信息
程序编写:xbrid
写作日期:2003.04.30
**************************************************/
/*
使用方法:
text_append($filename,$linecon)→数据追加函数
$filename是文件名,$linecon是要追加的内容,此内容的格式要与文件的分隔格式相同
函数返回值:1为成功,0为不成功。
text_locate($filename,$keyword,$cutword,$colnum)→数据查找函数
$filename为文件名,$keyword为查找关键字,$cutword为分隔符,$colnum为关键字所在的列段,列段的起始号为0
函数返回值:有此记录则返回此记录的数组(以分隔符分隔后的数据),否则返回0
注意:返回的数据值是字段值,此条记录是数据库中的查找结果的第一条记录。
text_delete($filename,$keyword,$cutword,$colnum)→数据删除函数,关键字要唯一,否则会删除所有与关键字相同的记录
$filename为文件名,$keyword为删除关键字,$cutword为分隔符,$colnum为关键字所在的列段,列段的起始号为0
函数返回值:有此记录则删除并返回1,否则返回0
text_modify($filename,$keyword,$cutword,$colnum,$modify)→数据修改函数
$filename为文件名,$keyword为修改关键字,$cutword为分隔符,$colnum为关键字所在的列段,列段的起始号为0
$modify为修改后内容,格式要与文件分隔格式相同
函数返回值:有此记录则修改,并返回1,否则返回0
此函数不改变此记录所在行
text_insert($filename,$keyword,$cutword,$colnum,$insert)→数据插入函数,插入位置在关键字前
$filename为文件名,$keyword为关键字,$cutword为分隔符,$colnum为关键字所在的列段,列段的起始号为0
$insert为要插入的内容,其格式要与文件分隔格式相同
函数返回值:有关键字记录则在其前插入并返回1,否则不对文件作修改并返回0
text_insertb($filename,$keyword,$cutword,$colnum,$insert)→数据插入函数,插入位置在关键字后
$filename为文件名,$keyword为修改关键字,$cutword为分隔符,$colnum为关键字所在的列段,列段的起始号为0
$insert为要插入的内容,其格式要与文件分隔格式相同
函数返回值:有关键字记录则在其后插入并返回1,否则不对文件作修改并返回0
text_sort($filename,$cutword,$colnum,$mode)→数据排序函数
$filename为文件名,$cutword为分隔符,$colnum为关键字所在的列段,列段的起始号为0,$mode为排列方式,a为升序d为降序
函数返回值:此函数无返回值,排序后此文件被重新排序的文件覆盖,此函数使用时要注意此点。
text_select($filename,$keyword,$cutword,$colnum)→多条数据查找函数
$filename为文件名,$keyword为查找关键字,$cutword为分隔符,$colnum为关键字所在的列段,列段的起始号为0
函数返回值:如果有关键字的记录则返回所有与关键字相同的记录数据,否则返回0
注意:返回的是记录数据,与数据库的格式相同,需要重新进行分隔。
text_find($filename,$keyword,$cutword,$colnum)→数据模糊查询函数
$filename为文件名,$keyword为查找关键字,$cutword为分隔符,$colnum为关键字所在的列段,列段的起始号为0
函数返回值:返回查找字段中包含此关键字的所有记录数据,否则返回0
注意:返回的是记录数据,是多条数据,与数据库的格式相同,需要重新进行分隔。
array_sort($list,$cutword,$colnum,$mode)→《数组》排序函数
$list为数组名,$cutword为分隔符,$colnum为关键字所在的列段,列段的起始号为0,$mode为排列方式,a为升序d为降序
函数返回值:返回值是排序后的数组,格式与排序前的一样,显示内容时,需要进行重新分隔处理。
*/
?>
分享到:
相关推荐
外 挂海USB按键测试版.ec 外挂海万能模块.ec 外挂海万能模块1.50.ec 外挂海万能模块1.52.ec 外挂海万能 模块1.56.ec 外挂海万能模块1.57B.ec 外挂海万能模块1.58.ec 外挂海万能模块1.59.ec 外挂海万 能模块1.7.ec ...
外挂海USB按键测试版.ec 外挂海万能模块.ec 外挂海万能模块1.52.ec 外挂海万能模块1.57B.ec 外挂海万能模块1.58.ec 外挂海万能模块1.59.ec 外挂海万能模块1.71.ec 外挂海万能模块1.7贺岁版.ec 外挂海万能...
读文本数据库(1.0).zip edb到html(1.0).zip EDB、高级表格、XLS互换模块(1.7).zip edb数据库增强(2.0).zip edb数据库文件转Excel文件1.5(1.5).zip edb数据库文件转Excel文件1.3(1.0).zip ETimeFly API模块(1.0).zip ...
外 挂海USB按键测试版.ec 外挂海万能模块.ec 外挂海万能模块1.50.ec 外挂海万能模块1.52.ec 外挂海万能 模块1.56.ec 外挂海万能模块1.57B.ec 外挂海万能模块1.58.ec 外挂海万能模块1.59.ec 外挂海万 能模块1.7.ec ...
总成绩是根据给定的权重计算的,即0.2的平时成绩、0.2的实验成绩和0.6的期末成绩。计算后的总成绩存储在`tscore`字段中。 5. **数据统计**:系统还需要计算所有学生的成绩均值和方差。均值是所有成绩相加后除以学生...
读文本数据库(1.0).zip edb到html(1.0).zip EDB、高级表格、XLS互换模块(1.7).zip edb数据库增强(2.0).zip edb数据库文件转Excel文件1.5(1.5).zip edb数据库文件转Excel文件1.3(1.0).zip ETimeFly API模块(1.0...
5个目标文件,演示Address EJB的实现,创建一个EJB测试客户端,得到名字上下文,查询jndi名,通过强制转型得到Home接口,getInitialContext()函数返回一个经过初始化的上下文,用client的getHome()函数调用Home接口...
5个目标文件,演示Address EJB的实现,创建一个EJB测试客户端,得到名字上下文,查询jndi名,通过强制转型得到Home接口,getInitialContext()函数返回一个经过初始化的上下文,用client的getHome()函数调用Home接口...
5个目标文件,演示Address EJB的实现,创建一个EJB测试客户端,得到名字上下文,查询jndi名,通过强制转型得到Home接口,getInitialContext()函数返回一个经过初始化的上下文,用client的getHome()函数调用Home接口...
5个目标文件,演示Address EJB的实现,创建一个EJB测试客户端,得到名字上下文,查询jndi名,通过强制转型得到Home接口,getInitialContext()函数返回一个经过初始化的上下文,用client的getHome()函数调用Home接口...
5个目标文件,演示Address EJB的实现,创建一个EJB测试客户端,得到名字上下文,查询jndi名,通过强制转型得到Home接口,getInitialContext()函数返回一个经过初始化的上下文,用client的getHome()函数调用Home接口...
5个目标文件,演示Address EJB的实现,创建一个EJB测试客户端,得到名字上下文,查询jndi名,通过强制转型得到Home接口,getInitialContext()函数返回一个经过初始化的上下文,用client的getHome()函数调用Home接口...
-如何自定义Javascript脚本和C#处理函数来响应键盘事件。 -为Tree增加AutoLeafIdentification属性。 -增加示例(tree_auto_leaf_identification.aspx)(feedback:wdrabbit)。 +2009-11-17 v2.1.4 -修正...
-如何自定义Javascript脚本和C#处理函数来响应键盘事件。 -为Tree增加AutoLeafIdentification属性。 -增加示例(tree_auto_leaf_identification.aspx)(feedback:wdrabbit)。 +2009-11-17 v2.1.4 -修正...
{1.13.3.3}文本创建与编辑}{43}{subsubsection.1.13.3.3} {1.14}\texttt {PATH}}{43}{section.1.14} {1.14.1}Java的打包命令}{44}{subsection.1.14.1} {2}Everything is an Object }{45}{chapter.2} {2.1}类与...