phison-up10量产工具v1.78.00PHP文本操作类
phison-up10量产工具v1.78.00PHP文本操作类
内容导读
收集整理的这篇技术教程文章主要介绍了phison-up10量产工具v1.78.00PHP文本操作类,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含14369字,纯文字阅读大概需要21分钟。
内容图文
代码如下: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
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
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;
}
}
?>
以上就介绍了phison-up10量产工具v1.78.00 PHP文本操作类,包括了phison-up10量产工具v1.78.00方面的内容,希望对PHP教程有兴趣的朋友有所帮助。
内容总结
以上是为您收集整理的phison-up10量产工具v1.78.00PHP文本操作类全部内容,希望文章能够帮你解决phison-up10量产工具v1.78.00PHP文本操作类所遇到的程序开发问题。 如果觉得技术教程内容还不错,欢迎将网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。