php實現對文本數據庫的數據顯示、加入、修改、刪除、查詢五大基本操作的方法
php實現對文本數據庫的數據顯示、加入、修改、刪除、查詢五大基本操作的方法此文本數據庫共有字段9個:private $bankid;//銀行IDprivate $bankname;//銀行名稱private $bankimg;//銀行圖片private $bankarea;//覆蓋區域private $bankcard;//受理卡種private $banklimit;//支付限額private $bankpasswd;//交易密碼private $banknote;//銀行信息備注private $bankmiss;//銀行其他信息內容。
php實現對文本數據庫的數據顯示、加入、修改、刪除、查詢五大基本操作的方法
<?php
/**
php實現對文本數據庫的數據顯示、加入、修改、刪除、查詢五大基本操作的方法。
此文本數據庫共有字段9個:
private $bankid; //銀行ID
private $bankname; //銀行名稱
private $bankimg; //銀行圖片
private $bankarea; //覆蓋區域
private $bankcard; //受理卡種
private $banklimit; //支付限額
private $bankpasswd; //交易密碼
private $banknote; //銀行信息備注
private $bankmiss; //銀行其他信息內容。
@abstract TxtDB store
@access public
@author yuchao1@staff.sina.com.cn
*/
class TxtDB {
private $bankid; //銀行ID
private $bankname; //銀行名稱
private $bankimg; //銀行圖片
private $bankarea; //覆蓋區域
private $bankcard; //受理卡種
private $banklimit; //支付限額
private $bankpasswd; //交易密碼
private $banknote; //銀行信息備注
private $bankmiss; //銀行其他信息
public function __construct() {
$bankid = ""; //銀行ID
$bankname = ""; //銀行名稱
$bankimg = ""; //銀行圖片
$bankarea = ""; //覆蓋區域
$bankcard = ""; //受理卡種
$banklimit = ""; //支付限額
$bankpasswd = ""; //交易密碼類型
$banknote = ""; //銀行信息備注
$bankmiss = ""; //銀行其他信息
}
/**
* 加入數據程序段。
* $bankinfo array 要插入的銀行信息列表
* $bankinfo["bankid"]$bankinfo["bankname"]$bankinfo["bankimg"]$bankinfo["bankarea"]
* $bankinfo["bankcard"]$bankinfo["banklimit"]
* $bankinfo["bankpasswd"]$bankinfo["banknote"]$bankinfo["bankmiss"]
* @return boolean 成功 true
* 失敗 false
*/
public static function insert($bankinfo) {
$date = date ( "Y-m-d H:i:s" ); //取得系統時間
foreach ( $bankinfo as $key => $value ) {
$key = trim ( $value ); //去掉銀行內容后面的空格.
}
try {
$fp = fopen ( "banklist.txt", "a" ); //以只寫模式打開banklist.txt文本文件,文件指針指向文件尾部.
$str = $bankinfo ["bankid"] . "|" . $bankinfo ["bankname"] . "|" . $bankinfo ["bankimg"] . "|" .
$bankinfo ["bankarea"] . "|" . $bankinfo ["bankcard"] . "|" . $bankinfo ["banklimit"] . "|" .
$bankinfo ["bankpasswd"] . "|" . $bankinfo ["banknote"] . "|" . $bankinfo ["bankmiss"] . "|" . $date . "\r\n";
//將所有銀行的數據賦予變量$str,"|"的目的是用來今后作數據分割時的數據間隔符號。
fwrite ( $fp, $str ); //將數據寫入文件
fclose ( $fp ); //關閉文件
//其中的$banklist是由銀行表單傳過來的數據。
return true;
} catch ( Exception $e ) {
return false;
}
}
public static function show() {
//數據顯示程序段
if (file_exists ( "banklist.txt" )) { //檢測文件是否存在
$array = file ( "banklist.txt" ); //將文件全部內容讀入到數組$array
$arr = array_reverse ( $array ); //將$array里的數據安行翻轉排列(即最后一行當第一行,依此類推)讀入數組$arr的每一個單元($arr[0]...)。
}
var_dump ( $arr );
}
/**
* 數據修改程序段
* $bankinfo array 要插入的銀行信息列表
* $bankinfo["bankid"]$bankinfo["bankname"]$bankinfo["bankimg"]$bankinfo["bankarea"]
* $bankinfo["bankcard"]$bankinfo["banklimit"]
* $bankinfo["bankpasswd"]$bankinfo["banknote"]$bankinfo["bankmiss"]
* @return boolean 成功 true
* 失敗 false
*/
public static function alter($bankinfo) {
$date = date ( "Y-m-d H:i:s" ); //取得系統修改時間
$list = file ( "banklist.txt" ); //讀取整個banklist.txt文件到數組$list,數組每一個元素為一條銀行($list[0]是第一條銀行的數據、$list[1]是第一條銀行的數據.....
$n = count ( $list ); //計算$list內容里的銀行總數,并賦予變量$n
foreach ( $bankinfo as $key => $value ) {
$key = trim ( $value ); //去掉銀行內容后面的空格.
}
if ($n > 0) { //如果銀行數大于0
$fp = fopen ( "banklist.txt", "w" ); //則以只寫模式打開文件banklist.txt
for($i = 0; $i < $n; $i ++) { //進入循環
if (eregi ( $bankinfo["bankid"], $list [$i] )) { //將傳銀行bankid與數組單元$list里內容進行字串匹配比較
$f = explode ( "|", $list [$i] ); //如果找到匹配,就以"|"作為分隔符,切開銀行信息$list[$i](第$i條銀行),并將這些數據賦予數組$f
$f[0] = $bankinfo["bankid"];
$f[1] = $bankinfo["bankname"];
$f[2] = $bankinfo["bankimg"];
$f[3] = $bankinfo["bankarea"];
$f[4] = $bankinfo["bankcard"];
$f[5] = $bankinfo["banklimit"];
$f[6] = $bankinfo["bankpasswd"];
$f[7] = $bankinfo["banknote"];
$f[8] = $bankinfo["bankmiss"];
$f[9] = $date;
$list [$i] = $f [0] . "|" . $f [1] . "|" . $f [2] . "|" . $f [3] . "|" . $f [4] . "|" . $f [5] . "|" . $f [6] . "|" . $f [7] . "|" . $f [8] . "|" . $f [9] . "\r\n";
//將數組單元$list[$i]的內容用數組$f加上分隔符"|"代替。
break; //跳出循環
}
}//循環結束符
}
for($i = 0; $i <= $n; $i ++) { //進入循環
fwrite ( $fp, $list [$i] ); //將數組$list的每個單元為一行,寫入文件banklist.txt
} //循環結束符
fclose ( $fp ); //關閉文件
}
/**
* 數據刪除程序段
* @param $bankid 銀行id號
* @return boolean true 成功
* false 失敗
*
*/
public static function delete($bankid) {
$list = file ( "banklist.txt" ); //讀取整個banklist.txt文件到數組$list,數組每一個元素為一條銀行($list[0]是第一條銀行的數據、$list[1]是第一條銀行的數據.....
$n = count ( $list ); //計算$list內容里的銀行總數,并賦予變量$n
if ($n > 0) { //如果銀行數大于0
$fp = fopen ( "banklist.txt", "w" ); //則以只寫模式打開文件banklist.txt
for($i = 0; $i < $n; $i ++) { //進入循環
if (eregi ( $bankid, $list [$i] )) { //將發送過來的銀行$bankid與數組$list[$i]里的字串進行匹配比較
$list [$i] = ""; //如果匹配成功,則將$list[$i]清空(達到刪除的目的)
break; //跳出循環
}
} //循環結束符
FOR($i = 0; $i <= $n; $i ++) { //進入循環
fwrite ( $fp, $list [$i] ); //將數組$list的每個單元為一行,寫入文件banklist.txt
} //循環結束符
fclose ( $fp ); //關閉文件
}
}
/**
* 數據查詢程序段
* @param $bankid 銀行ID號
* @return boolean 成功返回ture
* 失敗返回 false
*
*/
public static function select($bankid) {
$id = 0;
$list = file ( "banklist.txt" ); //讀取整個banklist.txt文件到數組$list,
//數組每一個元素為一條銀行($list[0]是第一條銀行的數據、$list[1]是第二條銀行的數據.....
$n = count ( $list ); //計算$list內容里的銀行總數,并賦予變量$n
$bankid = trim ( $bankid );
if (! $bankid) { //如果$bankid為假
echo "您沒有輸入任何關鍵字!"; //作相關顯示
return false;
} else {
if ($n > 0) { //如果銀行數大于0
for($i = 0; $i < $n; $i ++) { //進入循環
if (eregi ( $bankid, $list [$i] )) { //輸入的關鍵字與數組$list[$i]里的字串進行匹配比較
$row = explode ( "|", $list [$i] );
$id = 1; //如果找到匹配,就以"|"作為分隔符,切開銀行信息$list[$i](第$i條銀行),并將這些數據賦予數組$row.并將變量$id賦予1,以便作為是否找到匹配的判斷。
list ( $bankid,$bankname,$bankimg,$bankarea,$bankcard,$banklimit,$bankpasswd,$banknote,$bankmiss) = $row; //將數組$row里的單元數據按順序賦予括號里的變量
//echo $bankname;
return $row;
}
}//循環結束符
}
}
if ($id == 0) {
echo "沒有找到與關鍵字匹配的銀行!";
return false;
} //如果$id=0則表示沒找到匹配,顯示相關提示
}
public function __destruct() {
}
}
?>
本文由用戶 ebey2291 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!