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中GET变量的使用
Oct 09 PHP
?生?D片??C字串
Dec 06 PHP
php URL编码解码函数代码
Mar 10 PHP
PHP数组内存耗用太多问题的解决方法
Apr 05 PHP
学习php笔记 字符串处理
Oct 19 PHP
PHP性能优化准备篇图解PEAR安装
Dec 05 PHP
php网上商城购物车设计代码分享
Feb 15 PHP
php数组(array)输出的三种形式详解
Jun 05 PHP
php统计文章排行示例
Mar 04 PHP
使用php语句将数据库*.sql文件导入数据库
May 05 PHP
CI框架(CodeIgniter)实现的数据库增删改查操作总结
May 23 PHP
php服务器的系统详解
Oct 12 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中使用crypt()实现用户身份验证的代码
2012/09/05 PHP
PHP 中关于ord($str)&amp;gt;0x80的详细说明
2012/09/23 PHP
Windows下编译PHP5.4和xdebug全记录
2015/04/03 PHP
PHP中“=&gt;
2019/03/01 PHP
使用TextRange获取输入框中光标的位置的代码
2007/03/08 Javascript
JS中setTimeout()的用法详解
2013/04/14 Javascript
Javascript加载速度慢的解决方案
2014/03/11 Javascript
让angularjs支持浏览器自动填表
2014/11/10 Javascript
JavaScript跨浏览器获取页面中相同class节点的方法
2015/03/03 Javascript
JS实现向表格行添加新单元格的方法
2015/03/30 Javascript
jquery滚动特效集锦
2015/06/03 Javascript
JavaScript AOP编程实例
2015/06/16 Javascript
Vue中建立全局引用或者全局命令的方法
2017/08/21 Javascript
详解bootstrap用dropdown-menu实现上下文菜单
2017/09/22 Javascript
如何用input标签和jquery实现多图片的上传和回显功能
2018/05/16 jQuery
使用javascript做时间倒数读秒功能的实例
2019/01/23 Javascript
vuex存储复杂参数(如对象数组等)刷新数据丢失的解决方法
2019/11/05 Javascript
微信小程序地图绘制线段并且测量(实例代码)
2020/01/02 Javascript
解决vue elementUI中table里数字、字母、中文混合排序问题
2020/01/07 Javascript
es6中new.target的作用和使用场景简单示例分析
2020/03/14 Javascript
javascript 设计模式之享元模式原理与应用详解
2020/04/08 Javascript
[45:10]NB vs Liquid Supermajor小组赛 A组胜者组决赛 BO3 第二场 6.2
2018/06/04 DOTA
python私有属性和方法实例分析
2015/01/15 Python
详解Python的Django框架中的Cookie相关处理
2015/07/22 Python
python读取文件名称生成list的方法
2018/04/27 Python
Python 实现引用其他.py文件中的类和类的方法
2018/04/29 Python
Python3.6中Twisted模块安装的问题与解决
2019/04/15 Python
Python 串口读写的实现方法
2019/06/12 Python
python 提高开发效率的5个小技巧
2020/10/19 Python
CSS3中Color的一些特性介绍
2012/05/27 HTML / CSS
前台文员个人求职信范文
2014/01/05 职场文书
商场促销活动策划方案
2014/08/18 职场文书
建设幸福中国演讲稿
2014/09/11 职场文书
授权委托书怎么写
2014/09/25 职场文书
领导四风问题整改措施思想汇报
2014/10/13 职场文书
乡镇领导班子四风整顿行动工作汇报
2014/10/25 职场文书