0

0

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

php中文网

php中文网

发布时间:2016-07-25 09:10:55

|

1393人浏览过

|

来源于php中文网

原创

php实现对文本数据库的数据显示、加入、修改、删除、查询五大基本操作的方法
此文本数据库共有字段9个: private $bankid; //银行ID private $bankname; //银行名称 private $bankimg; //银行图片 private $bankarea; //覆盖区域 private $bankcard; //受理卡种 private $banklimit; //支付限额 private $bankpasswd; //交易密码 private $banknote; //银行信息备注 private $bankmiss; //银行其他信息内容。
  1. /**
  2. php实现对文本数据库的数据显示、加入、修改、删除、查询五大基本操作的方法。
  3. 此文本数据库共有字段9个:
  4. private $bankid; //银行ID
  5. private $bankname; //银行名称
  6. private $bankimg; //银行图片
  7. private $bankarea; //覆盖区域
  8. private $bankcard; //受理卡种
  9. private $banklimit; //支付限额
  10. private $bankpasswd; //交易密码
  11. private $banknote; //银行信息备注
  12. private $bankmiss; //银行其他信息内容。
  13. @abstract TxtDB store
  14. @access public
  15. @author yuchao1@staff.sina.com.cn
  16. */
  17. class TxtDB {
  18. private $bankid; //银行ID
  19. private $bankname; //银行名称
  20. private $bankimg; //银行图片
  21. private $bankarea; //覆盖区域
  22. private $bankcard; //受理卡种
  23. private $banklimit; //支付限额
  24. private $bankpasswd; //交易密码
  25. private $banknote; //银行信息备注
  26. private $bankmiss; //银行其他信息
  27. public function __construct() {
  28. $bankid = ""; //银行ID
  29. $bankname = ""; //银行名称
  30. $bankimg = ""; //银行图片
  31. $bankarea = ""; //覆盖区域
  32. $bankcard = ""; //受理卡种
  33. $banklimit = ""; //支付限额
  34. $bankpasswd = ""; //交易密码类型
  35. $banknote = ""; //银行信息备注
  36. $bankmiss = ""; //银行其他信息
  37. }
  38. /**
  39. * 加入数据程序段。
  40. * $bankinfo array 要插入的银行信息列表
  41. * $bankinfo["bankid"]$bankinfo["bankname"]$bankinfo["bankimg"]$bankinfo["bankarea"]
  42. * $bankinfo["bankcard"]$bankinfo["banklimit"]
  43. * $bankinfo["bankpasswd"]$bankinfo["banknote"]$bankinfo["bankmiss"]
  44. * @return boolean 成功 true
  45. * 失败 false
  46. */
  47. public static function insert($bankinfo) {
  48. $date = date ( "Y-m-d H:i:s" ); //取得系统时间
  49. foreach ( $bankinfo as $key => $value ) {
  50. $key = trim ( $value ); //去掉银行内容后面的空格.
  51. }
  52. try {
  53. $fp = fopen ( "banklist.txt", "a" ); //以只写模式打开banklist.txt文本文件,文件指针指向文件尾部.
  54. $str = $bankinfo ["bankid"] . "|" . $bankinfo ["bankname"] . "|" . $bankinfo ["bankimg"] . "|" .
  55. $bankinfo ["bankarea"] . "|" . $bankinfo ["bankcard"] . "|" . $bankinfo ["banklimit"] . "|" .
  56. $bankinfo ["bankpasswd"] . "|" . $bankinfo ["banknote"] . "|" . $bankinfo ["bankmiss"] . "|" . $date . "\r\n";
  57. //将所有银行的数据赋予变量$str,"|"的目的是用来今后作数据分割时的数据间隔符号。
  58. fwrite ( $fp, $str ); //将数据写入文件
  59. fclose ( $fp ); //关闭文件
  60. //其中的$banklist是由银行表单传过来的数据。
  61. return true;
  62. } catch ( Exception $e ) {
  63. return false;
  64. }
  65. }
  66. public static function show() {
  67. //数据显示程序段
  68. if (file_exists ( "banklist.txt" )) { //检测文件是否存在
  69. $array = file ( "banklist.txt" ); //将文件全部内容读入到数组$array
  70. $arr = array_reverse ( $array ); //将$array里的数据安行翻转排列(即最后一行当第一行,依此类推)读入数组$arr的每一个单元($arr[0]...)。
  71. }
  72. var_dump ( $arr );
  73. }
  74. /**
  75. * 数据修改程序段
  76. * $bankinfo array 要插入的银行信息列表
  77. * $bankinfo["bankid"]$bankinfo["bankname"]$bankinfo["bankimg"]$bankinfo["bankarea"]
  78. * $bankinfo["bankcard"]$bankinfo["banklimit"]
  79. * $bankinfo["bankpasswd"]$bankinfo["banknote"]$bankinfo["bankmiss"]
  80. * @return boolean 成功 true
  81. * 失败 false
  82. */
  83. public static function alter($bankinfo) {
  84. $date = date ( "Y-m-d H:i:s" ); //取得系统修改时间
  85. $list = file ( "banklist.txt" ); //读取整个banklist.txt文件到数组$list,数组每一个元素为一条银行($list[0]是第一条银行的数据、$list[1]是第一条银行的数据.....
  86. $n = count ( $list ); //计算$list内容里的银行总数,并赋予变量$n
  87. foreach ( $bankinfo as $key => $value ) {
  88. $key = trim ( $value ); //去掉银行内容后面的空格.
  89. }
  90. if ($n > 0) { //如果银行数大于0
  91. $fp = fopen ( "banklist.txt", "w" ); //则以只写模式打开文件banklist.txt
  92. for($i = 0; $i
  93. if (eregi ( $bankinfo["bankid"], $list [$i] )) { //将传银行bankid与数组单元$list里内容进行字串匹配比较
  94. $f = explode ( "|", $list [$i] ); //如果找到匹配,就以"|"作为分隔符,切开银行信息$list[$i](第$i条银行),并将这些数据赋予数组$f
  95. $f[0] = $bankinfo["bankid"];
  96. $f[1] = $bankinfo["bankname"];
  97. $f[2] = $bankinfo["bankimg"];
  98. $f[3] = $bankinfo["bankarea"];
  99. $f[4] = $bankinfo["bankcard"];
  100. $f[5] = $bankinfo["banklimit"];
  101. $f[6] = $bankinfo["bankpasswd"];
  102. $f[7] = $bankinfo["banknote"];
  103. $f[8] = $bankinfo["bankmiss"];
  104. $f[9] = $date;
  105. $list [$i] = $f [0] . "|" . $f [1] . "|" . $f [2] . "|" . $f [3] . "|" . $f [4] . "|" . $f [5] . "|" . $f [6] . "|" . $f [7] . "|" . $f [8] . "|" . $f [9] . "\r\n";
  106. //将数组单元$list[$i]的内容用数组$f加上分隔符"|"代替。
  107. break; //跳出循环
  108. }
  109. }//循环结束符
  110. }
  111. for($i = 0; $i
  112. fwrite ( $fp, $list [$i] ); //将数组$list的每个单元为一行,写入文件banklist.txt
  113. } //循环结束符
  114. fclose ( $fp ); //关闭文件
  115. }
  116. /**
  117. * 数据删除程序段
  118. * @param $bankid 银行id号
  119. * @return boolean true 成功
  120. * false 失败
  121. *
  122. */
  123. public static function delete($bankid) {
  124. $list = file ( "banklist.txt" ); //读取整个banklist.txt文件到数组$list,数组每一个元素为一条银行($list[0]是第一条银行的数据、$list[1]是第一条银行的数据.....
  125. $n = count ( $list ); //计算$list内容里的银行总数,并赋予变量$n
  126. if ($n > 0) { //如果银行数大于0
  127. $fp = fopen ( "banklist.txt", "w" ); //则以只写模式打开文件banklist.txt
  128. for($i = 0; $i
  129. if (eregi ( $bankid, $list [$i] )) { //将发送过来的银行$bankid与数组$list[$i]里的字串进行匹配比较
  130. $list [$i] = ""; //如果匹配成功,则将$list[$i]清空(达到删除的目的)
  131. break; //跳出循环
  132. }
  133. } //循环结束符
  134. FOR($i = 0; $i
  135. fwrite ( $fp, $list [$i] ); //将数组$list的每个单元为一行,写入文件banklist.txt
  136. } //循环结束符
  137. fclose ( $fp ); //关闭文件
  138. }
  139. }
  140. /**
  141. * 数据查询程序段
  142. * @param $bankid 银行ID号
  143. * @return boolean 成功返回ture
  144. * 失败返回 false
  145. *
  146. */
  147. public static function select($bankid) {
  148. $id = 0;
  149. $list = file ( "banklist.txt" ); //读取整个banklist.txt文件到数组$list,
  150. //数组每一个元素为一条银行($list[0]是第一条银行的数据、$list[1]是第二条银行的数据.....
  151. $n = count ( $list ); //计算$list内容里的银行总数,并赋予变量$n
  152. $bankid = trim ( $bankid );
  153. if (! $bankid) { //如果$bankid为假
  154. echo "您没有输入任何关键字!"; //作相关显示
  155. return false;
  156. } else {
  157. if ($n > 0) { //如果银行数大于0
  158. for($i = 0; $i
  159. if (eregi ( $bankid, $list [$i] )) { //输入的关键字与数组$list[$i]里的字串进行匹配比较
  160. $row = explode ( "|", $list [$i] );
  161. $id = 1; //如果找到匹配,就以"|"作为分隔符,切开银行信息$list[$i](第$i条银行),并将这些数据赋予数组$row.并将变量$id赋予1,以便作为是否找到匹配的判断。
  162. list ( $bankid,$bankname,$bankimg,$bankarea,$bankcard,$banklimit,$bankpasswd,$banknote,$bankmiss) = $row; //将数组$row里的单元数据按顺序赋予括号里的变量
  163. //echo $bankname;
  164. return $row;
  165. }
  166. }//循环结束符
  167. }
  168. }
  169. if ($id == 0) {
  170. echo "没有找到与关键字匹配的银行!";
  171. return false;
  172. } //如果$id=0则表示没找到匹配,显示相关提示
  173. }
  174. public function __destruct() {
  175. }
  176. }
  177. ?>
复制代码


相关文章

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
Swift iOS架构设计与MVVM模式实战
Swift iOS架构设计与MVVM模式实战

本专题聚焦 Swift 在 iOS 应用架构设计中的实践,系统讲解 MVVM 模式的核心思想、数据绑定机制、模块拆分策略以及组件化开发方法。内容涵盖网络层封装、状态管理、依赖注入与性能优化技巧。通过完整项目案例,帮助开发者构建结构清晰、可维护性强的 iOS 应用架构体系。

3

2026.03.03

C++高性能网络编程与Reactor模型实践
C++高性能网络编程与Reactor模型实践

本专题围绕 C++ 在高性能网络服务开发中的应用展开,深入讲解 Socket 编程、多路复用机制、Reactor 模型设计原理以及线程池协作策略。内容涵盖 epoll 实现机制、内存管理优化、连接管理策略与高并发场景下的性能调优方法。通过构建高并发网络服务器实战案例,帮助开发者掌握 C++ 在底层系统与网络通信领域的核心技术。

12

2026.03.03

Golang 测试体系与代码质量保障:工程级可靠性建设
Golang 测试体系与代码质量保障:工程级可靠性建设

Go语言测试体系与代码质量保障聚焦于构建工程级可靠性系统。本专题深入解析Go的测试工具链(如go test)、单元测试、集成测试及端到端测试实践,结合代码覆盖率分析、静态代码扫描(如go vet)和动态分析工具,建立全链路质量监控机制。通过自动化测试框架、持续集成(CI)流水线配置及代码审查规范,实现测试用例管理、缺陷追踪与质量门禁控制,确保代码健壮性与可维护性,为高可靠性工程系统提供质量保障。

69

2026.02.28

Golang 工程化架构设计:可维护与可演进系统构建
Golang 工程化架构设计:可维护与可演进系统构建

Go语言工程化架构设计专注于构建高可维护性、可演进的企业级系统。本专题深入探讨Go项目的目录结构设计、模块划分、依赖管理等核心架构原则,涵盖微服务架构、领域驱动设计(DDD)在Go中的实践应用。通过实战案例解析接口抽象、错误处理、配置管理、日志监控等关键工程化技术,帮助开发者掌握构建稳定、可扩展Go应用的最佳实践方法。

59

2026.02.28

Golang 性能分析与运行时机制:构建高性能程序
Golang 性能分析与运行时机制:构建高性能程序

Go语言以其高效的并发模型和优异的性能表现广泛应用于高并发、高性能场景。其运行时机制包括 Goroutine 调度、内存管理、垃圾回收等方面,深入理解这些机制有助于编写更高效稳定的程序。本专题将系统讲解 Golang 的性能分析工具使用、常见性能瓶颈定位及优化策略,并结合实际案例剖析 Go 程序的运行时行为,帮助开发者掌握构建高性能应用的关键技能。

46

2026.02.28

Golang 并发编程模型与工程实践:从语言特性到系统性能
Golang 并发编程模型与工程实践:从语言特性到系统性能

本专题系统讲解 Golang 并发编程模型,从语言级特性出发,深入理解 goroutine、channel 与调度机制。结合工程实践,分析并发设计模式、性能瓶颈与资源控制策略,帮助将并发能力有效转化为稳定、可扩展的系统性能优势。

24

2026.02.27

Golang 高级特性与最佳实践:提升代码艺术
Golang 高级特性与最佳实践:提升代码艺术

本专题深入剖析 Golang 的高级特性与工程级最佳实践,涵盖并发模型、内存管理、接口设计与错误处理策略。通过真实场景与代码对比,引导从“可运行”走向“高质量”,帮助构建高性能、可扩展、易维护的优雅 Go 代码体系。

20

2026.02.27

Golang 测试与调试专题:确保代码可靠性
Golang 测试与调试专题:确保代码可靠性

本专题聚焦 Golang 的测试与调试体系,系统讲解单元测试、表驱动测试、基准测试与覆盖率分析方法,并深入剖析调试工具与常见问题定位思路。通过实践示例,引导建立可验证、可回归的工程习惯,从而持续提升代码可靠性与可维护性。

4

2026.02.27

漫蛙app官网链接入口
漫蛙app官网链接入口

漫蛙App官网提供多条稳定入口,包括 https://manwa.me、https

348

2026.02.27

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Swoft2.x速学之http api篇课程
Swoft2.x速学之http api篇课程

共16课时 | 1万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号