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 相关文章推荐
如何实现给定日期的若干天以后的日期
Oct 09 PHP
php $_ENV为空的原因分析
Jun 01 PHP
PHP COOKIE设置为浏览器进程
Jun 21 PHP
PHP 高级课程笔记 面向对象
Jun 21 PHP
IIS6.0中配置php服务全过程解析
Aug 07 PHP
PHP下获取上个月、下个月、本月的日期(strtotime,date)
Feb 02 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(五)
Jun 23 PHP
php中Socket创建与监听实现方法
Jan 05 PHP
PHP计算指定日期所在周的开始和结束日期的方法
Mar 24 PHP
PHP中使用array函数新建一个数组
Nov 19 PHP
PHP导出带样式的Excel示例代码
Aug 28 PHP
详解PHP中foreach的用法和实例
Oct 25 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
MayFish PHP的MVC架构的开发框架
2009/08/13 PHP
Zend Studio 实用快捷键一览表(精心整理)
2013/08/10 PHP
php中addslashes函数与sql防注入
2014/11/17 PHP
php调用mysql存储过程实例分析
2014/12/29 PHP
如何创建一个JavaScript弹出DIV窗口层的效果
2013/09/25 Javascript
jquery实现当滑动到一定位置时固定效果
2014/06/17 Javascript
JavaScript中的原型prototype属性使用详解
2015/06/05 Javascript
在AngularJS应用中实现一些动画效果的代码
2015/06/18 Javascript
jQuery获取父元素节点、子元素节点及兄弟元素节点的方法
2016/04/14 Javascript
JQuery EasyUI 结合ztrIee的后台页面开发实例
2017/09/01 jQuery
基于vue的换肤功能的示例代码
2017/10/10 Javascript
用 Vue.js 递归组件实现可折叠的树形菜单(demo)
2017/12/25 Javascript
springMvc 前端用json的方式向后台传递对象数组方法
2018/08/07 Javascript
使用vue-cli3 创建vue项目并配置VS Code 自动代码格式化 vue语法高亮问题
2019/05/14 Javascript
es6中使用map简化复杂条件判断操作实例详解
2020/02/19 Javascript
javascript实现前端分页效果
2020/06/24 Javascript
[06:06]2018DOTA2亚洲邀请赛主赛事第四日战况回顾 全明星赛欢乐上演
2018/04/07 DOTA
在Python的Flask框架中实现单元测试的教程
2015/04/20 Python
编写Python的web框架中的Model的教程
2015/04/29 Python
Python线程指南详细介绍
2017/01/05 Python
python 获取当天每个准点时间戳的实例
2018/05/22 Python
Python subprocess模块功能与常见用法实例详解
2018/06/28 Python
Pytorch.nn.conv2d 过程验证方式(单,多通道卷积过程)
2020/01/03 Python
对tensorflow 中tile函数的使用详解
2020/02/07 Python
使用keras实现非线性回归(两种加激活函数的方式)
2020/07/05 Python
收藏!10个免费高清视频素材网站!【设计、视频剪辑必备】
2021/03/18 杂记
css3学习心得分享
2013/08/19 HTML / CSS
巧用 CSS3的webkit-box-reflect 倒影实现各类动效
2021/03/05 HTML / CSS
TecoBuy澳大利亚:在线电子和小工具商店
2020/06/25 全球购物
ShellScript面试题一则-ShellScript编程
2014/06/24 面试题
电气工程师岗位职责
2014/01/01 职场文书
班主任经验交流会主持词
2014/04/01 职场文书
财产分割协议书范本
2014/11/03 职场文书
师德师风学习材料
2014/12/19 职场文书
毕业实习单位意见
2015/06/04 职场文书
2016小学优秀教师先进事迹材料
2016/02/26 职场文书