コードをコピー コードは次のとおりです:
class CtbClass { ファイルと書き込み入力
function null_write ($new)
{
$f=fopen($this->file,"w");
LOCK_EX);
fputs($f,$new) ; add_write($new) { 「a」);一緒に使用するために戻り、データ行を 1 次元配列に変換します
Function Make_array ($ LINE) {
$ array = Explode ("x0e", $ line);
Return $ array
}
> // 1 次元配列のデータを変換します。
関数 Join_array ($ Line) {
$ array = Join ("x0e", $ LINE);
return $ array;
// データファイルに返される先頭行の数
Function getlines () {
$ f = file ($ this- & gt; file);
Return Count ($ f); 🎜>
$f);
flock($f, LOCK_SH);
for($i=0;$i<=$this->index;$i) {
$rec=fgets($f, 1 024*5);
🎜> $this->file);
foreach ($f as $ rawline) { array_push ($lines, $tmpline);
overwrite($array){ ;ファイル、 "w");
fputs($f,$newline); put($f,$newline);
// データ レコードの行をファイルの末尾に追加します
function add_line($array,$check_n=1) {
$s=implode("x0E ",$array) ; ($line = fgets($f,1024)) { fclose($f)
$f = fopen($this->file , "w"); fclose($f);
$update_string = implode ("x0E",$update_array); ; r");
flock($f,LOCK_SH);
for ($i=0;$i
$ newfile = $ newfile.
}
}
FCLOSE ($ f);
$ f = FOPEN ($ this- & gt; file, "w ");
flock($f,LOCK_EX); $f,$newfile);
fclose($f);
$newline = implode ("x0E",$update_array);
flock($f,LOCK_SH); $ newfile.
} else {
$ newFile。
""; 🎜> $fc=file($this->file); flock($f,LOCK_SH);
for ($i=0;$i
fclose ($ f);
= ""; ;($ i = 0; $ i&lt; = count($ tlines); $ i){
$ line = explode( "x0 e"、$ tlines [$ i]);
$ get_max_value = max ($ get_value);
Return $ get_max_value;
}
// データ ファイルのフィールドにクエリ対象の $ query_string が含まれているかどうか、2 次元配列はすべてのデータを返します$ lines = array();
// 関数は関数 select() と同じですが、速度がわずかに向上する可能性があります。
function select2($column, $query_string) {
if (file_存在($this-) >ファイル)) { { If ($ line[$column] == $query_string) { 🎜> return;
}
> // データ ファイルのフィールドにクエリ対象の $ Query_String が含まれているかどうかを確認し、最初のデータを 1 次元配列で返します
Function Select_line ($ COLUMN, $ Queery_String) {
$tline = $this->read_file();
foreach ($tline として $tmpLine) {
$line = $this->make_array($tmpLine);
列] == $query_string) {休憩;
// select next/prev line(next_prev ==> 1/next, 2/prev) by cx
functionselect_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) {
0 を返します。
} else {
$line_key_up = $line_key - 1;
return $up_line;
}
} else {
$up_line = $line;
}
elseif ($next_prev == 2) { // 前?
if ($line[$column] == $query_string) {
if ($line_key == $line_key_end) {
戻り 0;
} else {
$line_key_down = $line_key 1;
休憩;
}
}
} else {
return 0;
}
}
$down_line = $this-> make_array($tline[$line_key_down]);
return $down_line;
}
}
?>