php实现对文本数据库的数据显示、加入、修改、删除、查询五大基本操作的方法

php实现对文本数据库的数据显示、加入、修改、删除、查询五大基本操作的方法

001<?php
002/**
003php实现对文本数据库的数据显示、加入、修改、删除、查询五大基本操作的方法。
004此文本数据库共有字段9个:
005    private $bankid;    //银行ID
006    private $bankname;  //银行名称
007    private $bankimg;   //银行图片
008    private $bankarea;  //覆盖区域
009    private $bankcard;  //受理卡种
010    private $banklimit; //支付限额
011    private $bankpasswd;    //交易密码
012    private $banknote;  //银行信息备注
013    private $bankmiss;  //银行其他信息内容。
014@abstract   TxtDB store
015@access     public
016@author     yuchao1@staff.sina.com.cn
017  
018 */
019 
020class TxtDB {
021     
022    private $bankid; //银行ID
023    private $bankname; //银行名称
024    private $bankimg; //银行图片
025    private $bankarea; //覆盖区域
026    private $bankcard; //受理卡种
027    private $banklimit; //支付限额
028    private $bankpasswd; //交易密码
029    private $banknote; //银行信息备注
030    private $bankmiss; //银行其他信息
031     
032 
033    public function __construct() {
034        $bankid = ""; //银行ID
035        $bankname = ""; //银行名称
036        $bankimg = ""; //银行图片
037        $bankarea = ""; //覆盖区域
038        $bankcard = ""; //受理卡种
039        $banklimit = ""; //支付限额
040        $bankpasswd = ""; //交易密码类型
041        $banknote = ""; //银行信息备注
042        $bankmiss = ""; //银行其他信息
043    }
044    /**
045     * 加入数据程序段。
046     * $bankinfo array  要插入的银行信息列表
047     * $bankinfo["bankid"]$bankinfo["bankname"]$bankinfo["bankimg"]$bankinfo["bankarea"]
048     * $bankinfo["bankcard"]$bankinfo["banklimit"]
049     * $bankinfo["bankpasswd"]$bankinfo["banknote"]$bankinfo["bankmiss"]
050     * @return boolean 成功  true
051     *  失败 false
052     */
053    public static function insert($bankinfo) {
054        $date = date ( "Y-m-d H:i:s" ); //取得系统时间
055 
056        foreach ( $bankinfo as $key => $value ) {
057            $key = trim ( $value ); //去掉银行内容后面的空格.
058        }
059        try {
060            $fp = fopen ( "banklist.txt", "a" ); //以只写模式打开banklist.txt文本文件,文件指针指向文件尾部.
061            $str = $bankinfo ["bankid"] . "|" . $bankinfo ["bankname"] . "|" . $bankinfo ["bankimg"] . "|" .
062            $bankinfo ["bankarea"] . "|" . $bankinfo ["bankcard"] . "|" . $bankinfo ["banklimit"] . "|" .
063            $bankinfo ["bankpasswd"] . "|" . $bankinfo ["banknote"] . "|" . $bankinfo ["bankmiss"] . "|" . $date . "\r\n";
064            //将所有银行的数据赋予变量$str,"|"的目的是用来今后作数据分割时的数据间隔符号。
065            fwrite ( $fp, $str ); //将数据写入文件
066            fclose ( $fp ); //关闭文件
067            //其中的$banklist是由银行表单传过来的数据。
068            return true;
069        } catch ( Exception $e ) {
070            return false;
071        }
072    }
073     
074    public static function show() {
075        //数据显示程序段
076        if (file_exists ( "banklist.txt" )) { //检测文件是否存在
077            $array = file ( "banklist.txt" ); //将文件全部内容读入到数组$array
078            $arr = array_reverse ( $array ); //将$array里的数据安行翻转排列(即最后一行当第一行,依此类推)读入数组$arr的每一个单元($arr[0]...)。
079        }
080        var_dump ( $arr );
081    }
082     
083    /**
084     * 数据修改程序段
085     * $bankinfo array  要插入的银行信息列表
086     * $bankinfo["bankid"]$bankinfo["bankname"]$bankinfo["bankimg"]$bankinfo["bankarea"]
087     * $bankinfo["bankcard"]$bankinfo["banklimit"]
088     * $bankinfo["bankpasswd"]$bankinfo["banknote"]$bankinfo["bankmiss"]
089     * @return boolean 成功  true
090     *  失败 false
091     */
092    public static function alter($bankinfo) {
093        $date = date ( "Y-m-d H:i:s" ); //取得系统修改时间
094        $list = file ( "banklist.txt" ); //读取整个banklist.txt文件到数组$list,数组每一个元素为一条银行($list[0]是第一条银行的数据、$list[1]是第一条银行的数据.....
095        $n = count ( $list ); //计算$list内容里的银行总数,并赋予变量$n
096        foreach ( $bankinfo as $key => $value ) {
097            $key = trim ( $value ); //去掉银行内容后面的空格.
098        }
099        if ($n > 0) { //如果银行数大于0
100            $fp = fopen ( "banklist.txt", "w" ); //则以只写模式打开文件banklist.txt
101             
102            for($i = 0; $i < $n; $i ++) { //进入循环
103                if (eregi ( $bankinfo["bankid"], $list [$i] )) { //将传银行bankid与数组单元$list里内容进行字串匹配比较
104                    $f = explode ( "|", $list [$i] ); //如果找到匹配,就以"|"作为分隔符,切开银行信息$list[$i](第$i条银行),并将这些数据赋予数组$f
105                    $f[0] = $bankinfo["bankid"];
106                    $f[1] = $bankinfo["bankname"];
107                    $f[2] = $bankinfo["bankimg"];
108                    $f[3] = $bankinfo["bankarea"];
109                    $f[4] = $bankinfo["bankcard"];
110                    $f[5] = $bankinfo["banklimit"];
111                    $f[6] = $bankinfo["bankpasswd"];
112                    $f[7] = $bankinfo["banknote"];
113                    $f[8] = $bankinfo["bankmiss"];
114                    $f[9] = $date;
115                    $list [$i] = $f [0] . "|" . $f [1] . "|" . $f [2] . "|" . $f [3] . "|" . $f [4] . "|" . $f [5] . "|" . $f [6] . "|" . $f [7] . "|" . $f [8] . "|" . $f [9] . "\r\n";
116                    //将数组单元$list[$i]的内容用数组$f加上分隔符"|"代替。
117                    break; //跳出循环
118                }
119            }//循环结束符
120        }
121        for($i = 0; $i <= $n; $i ++) { //进入循环
122            fwrite ( $fp, $list [$i] ); //将数组$list的每个单元为一行,写入文件banklist.txt
123        } //循环结束符
124        fclose ( $fp ); //关闭文件
125    }
126    /**
127     * 数据删除程序段
128     * @param   $bankid 银行id号
129     * @return boolean true 成功
130     * false 失败
131     *
132     */
133    public static function delete($bankid) {
134        $list = file ( "banklist.txt" ); //读取整个banklist.txt文件到数组$list,数组每一个元素为一条银行($list[0]是第一条银行的数据、$list[1]是第一条银行的数据.....
135        $n = count ( $list ); //计算$list内容里的银行总数,并赋予变量$n
136        if ($n > 0) { //如果银行数大于0
137            $fp = fopen ( "banklist.txt", "w" ); //则以只写模式打开文件banklist.txt
138            for($i = 0; $i < $n; $i ++) { //进入循环
139                if (eregi ( $bankid, $list [$i] )) { //将发送过来的银行$bankid与数组$list[$i]里的字串进行匹配比较
140                    $list [$i] = ""; //如果匹配成功,则将$list[$i]清空(达到删除的目的)
141                    break; //跳出循环
142                }
143            } //循环结束符
144            FOR($i = 0; $i <= $n; $i ++) { //进入循环
145                fwrite ( $fp, $list [$i] ); //将数组$list的每个单元为一行,写入文件banklist.txt
146            } //循环结束符
147            fclose ( $fp ); //关闭文件
148        }
149    }
150     
151    /**
152     * 数据查询程序段
153     * @param $bankid 银行ID号
154     * @return boolean 成功返回ture
155     * 失败返回 false
156     *
157     */
158    public static function select($bankid) {
159        $id = 0;
160        $list = file ( "banklist.txt" ); //读取整个banklist.txt文件到数组$list,
161        //数组每一个元素为一条银行($list[0]是第一条银行的数据、$list[1]是第二条银行的数据.....
162        $n = count ( $list ); //计算$list内容里的银行总数,并赋予变量$n
163        $bankid = trim ( $bankid );
164        if (! $bankid) { //如果$bankid为假
165            echo "您没有输入任何关键字!"; //作相关显示
166            return false;
167        } else {
168            if ($n > 0) { //如果银行数大于0
169                for($i = 0; $i < $n; $i ++) { //进入循环
170                    if (eregi ( $bankid, $list [$i] )) { //输入的关键字与数组$list[$i]里的字串进行匹配比较
171                        $row = explode ( "|", $list [$i] );
172                        $id = 1; //如果找到匹配,就以"|"作为分隔符,切开银行信息$list[$i](第$i条银行),并将这些数据赋予数组$row.并将变量$id赋予1,以便作为是否找到匹配的判断。
173                        list ( $bankid,$bankname,$bankimg,$bankarea,$bankcard,$banklimit,$bankpasswd,$banknote,$bankmiss) = $row; //将数组$row里的单元数据按顺序赋予括号里的变量
174                        //echo $bankname;
175                        return $row;
176                    }
177                }//循环结束符
178            }
179        }
180        if ($id == 0) {
181            echo "没有找到与关键字匹配的银行!";
182            return false;
183        } //如果$id=0则表示没找到匹配,显示相关提示
184     
185 
186    }
187     
188    public function __destruct() {
189     
190    }
191}
192?>

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值