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

2018-07-20    来源:open-open

容器云强势上线!快速搭建集群,上万Linux镜像随意使用

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() {

    }
}
?>

标签: 数据库

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点!
本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。

上一篇:php 获取当天或某个日期是星期几

下一篇:PHP 实现文件下载