php 之 没有mysql支持时的替代方案


Posted in PHP onOctober 09, 2006

一般个人免费主页空间都不会提供mysql支持,就是提供也很苛刻,所以寻找也个良好的替代方案很重要哦!
PHP的文件处理功能很强大,所以可以用文件的存取来代替来!
(要知道没有数据库的时候,什么都是用文件组织的哦!呵呵!),其中个数据项用特殊符号分割,我采用的是“||”,方便通过explode()函数读取单个记录!
其实这里数据库的思想还是可以用到的!象数据库的索引!
所以必须先做个索引文件!(这样说也并不正确)
就以留言本来说吧:
主要文件是:
index.database
其结构如下:
留言人姓名||留言人性别||留言时间||留言内容存放位置||feiyn(这项是方便读取时的被‘n'干恼的!
每条存储一行可以方便的通过PHP的fgets()函数读取,或者file()函数读取每行到数组
为了防止多人同是对数据的写入冲突,故还需要加锁(也用文件实现)
以下是写入代码
<?php
//必须传入以下参量:
//留言人姓名 $name
//留言人性别 $sex
//留言时间  $time
//留言内容存放位置 $savePosite
$indexFile="index.database";
$indexFileLock=$indexFile."Lock";
$message=$name."||".$sex."||".$time."||".$savePosite."||feiy||";//这就是要写入的记录
while(file_exists($indexFileLock)) $temp++; //检测是否已加锁
fclose(fopen($indexFileLock,"w"));      //如没有则进入并加锁避免同是访问冲突
$fp=fopen($indexFile,"a");
fputs($message,strlen($message));
fclose($fp);
unlink($indexFileLock);//解锁
?>
读取代码
<?php
$indexFile="index.database";
$indexFileLock=$indexFile."Lock";
while(file_exists($indexFileLock)) $temp++; //检测是否已加锁
fclose(fopen($indexFileLock,"w"));      //如没有则进入并加锁避免同是访问冲突
$ary=file($indexFile);
unlink($indexfileLock);//解锁
for($i=0;$i<sizeof($ary);$i++){
$tempAry=explode("||",$ary[$i]);
echo("name:".$tempAry[0]);
echo("sex:".$tempAry[1]);
echo("sex:".$tempAry[2]);
echo("savePosite:",$tempAry[3]);//可以从该地址读取留言内容
}
?>

通过以上可以方便的解决常用的网页运用,比如聊天室,BBS论坛,书签之类
如果那位大虾有更好的解决方法,请赐教!谢谢!
我的主页:feiyschool.51.net
QQ:23072155
email:feiyhy@sina.com

【本文版权归作者feiy与奥索网共同拥有,如需转载,请注明作者及出处】    

PHP 相关文章推荐
刚才在简化php的库,结果发现很多东西
Dec 31 PHP
php的大小写敏感问题整理
Dec 29 PHP
php eval函数用法 PHP中eval()函数小技巧
Oct 31 PHP
浅析memcache启动以及telnet命令详解
Jun 28 PHP
php用户注册页面利用js进行表单验证具体实例
Oct 17 PHP
phpmailer发送邮件之后,返回收件人是否阅读了邮件的方法
Jul 19 PHP
PHP连接操作access数据库实例
Mar 30 PHP
thinkphp 抓取网站的内容并且保存到本地的实例详解
Aug 25 PHP
PHP Post获取不到非表单数据的问题解决办法
Feb 27 PHP
PHP上传文件及图片到七牛的方法
Jul 25 PHP
TP5框架实现的数据库备份功能示例
Apr 05 PHP
PhpStorm的使用教程(本地运行PHP+远程开发+快捷键)
Mar 26 PHP
在PWS上安装PHP4.0正式版
Oct 09 #PHP
在IIS上安装PHP4.0正式版
Oct 09 #PHP
html中select语句读取mysql表中内容
Oct 09 #PHP
用PHP实现ODBC数据分页显示一例
Oct 09 #PHP
使用 php4 加速 web 传输
Oct 09 #PHP
php 中include()与require()的对比
Oct 09 #PHP
php生成WAP页面
Oct 09 #PHP
You might like
PHP生成UTF8文件的方法
2010/05/15 PHP
php防盗链的常用方法小结
2010/07/02 PHP
php无限遍历目录示例
2014/02/21 PHP
WordPress中给文章添加自定义字段及后台编辑功能区域
2015/12/19 PHP
PHP数组实例详解
2016/06/26 PHP
php策略模式简单示例分析【区别于工厂模式】
2019/09/25 PHP
PHP下载文件函数与用法示例
2019/09/27 PHP
HTA版JSMin(省略修饰语若干)基于javascript语言编写
2009/12/24 Javascript
javascript 窗口加载蒙板 内嵌网页内容
2010/11/19 Javascript
通过Javascript创建一个选择文件的对话框代码
2012/06/16 Javascript
jQuery中使用animate自定义动画的方法
2016/05/29 Javascript
jQuery插件FusionCharts实现的MSBar2D图效果示例【附demo源码】
2017/03/24 jQuery
vue将时间戳转换成自定义时间格式的方法
2018/03/02 Javascript
JS实现select选中option触发事件操作示例
2018/07/13 Javascript
微信小程序实现分享到朋友圈功能
2018/07/19 Javascript
vue绑定事件后获取绑定事件中的this方法
2018/09/15 Javascript
cdn模式下vue的基本用法详解
2018/10/07 Javascript
详解JS取出两个数组中的不同或相同元素
2019/03/20 Javascript
VUE和Antv G6实现在线拓扑图编辑操作
2020/10/28 Javascript
[03:52]DOTA2英雄基础教程 酒仙
2013/12/23 DOTA
[52:29]DOTA2上海特级锦标赛主赛事日 - 2 胜者组第一轮#3Secret VS OG第三局
2016/03/03 DOTA
[00:10]DOTA2全国高校联赛速递
2018/05/30 DOTA
200行python代码实现2048游戏
2019/07/17 Python
Python基于codecs模块实现文件读写案例解析
2020/05/11 Python
python按照list中字典的某key去重的示例代码
2020/10/13 Python
html标签之Object和EMBED标签详解
2013/07/04 HTML / CSS
Manuka Doctor美国官网:麦卢卡蜂蜜和蜂毒护肤
2016/12/25 全球购物
澳大利亚领先的在线机械五金、园艺和存储专家:Edisons
2018/03/24 全球购物
函授本科自我鉴定
2014/02/04 职场文书
培训科主任岗位职责
2014/08/08 职场文书
社区党建工作汇报材料
2014/08/14 职场文书
公共场所卫生管理制度
2015/08/05 职场文书
浅谈Redis的keys命令到底有多慢
2021/10/05 Redis
MySQL学习必备条件查询数据
2022/03/25 MySQL
忘记Grafana不要紧2种Grafana重置admin密码方法详细步骤
2022/04/07 Servers
httpclient调用远程接口的方法
2022/08/14 Java/Android