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 相关文章推荐
PHP4之真OO
Oct 09 PHP
php set_magic_quotes_runtime() 函数过时解决方法
Jul 08 PHP
浅析PHP原理之变量(Variables inside PHP)
Aug 09 PHP
php 不使用js实现页面跳转
Feb 11 PHP
PHP写的资源下载防盗链类分享
May 12 PHP
PHP实现多维数组转字符串和多维数组转一维数组的方法
Aug 08 PHP
php对二维数组进行相关操作(排序、转换、去空白等)
Nov 04 PHP
浅谈PHP检查数组中是否存在某个值 in_array 函数
Jun 13 PHP
php格式文件打开的四种方法
Feb 24 PHP
PHP实现会员账号单唯一登录的方法分析
Mar 07 PHP
关于laravel 数据库迁移中integer类型是无法指定长度的问题
Oct 09 PHP
TP5框架实现一次选择多张图片并预览的方法示例
Apr 04 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
fleaphp rolesNameField bug解决方法
2011/04/23 PHP
php提示Call-time pass-by-reference has been deprecated in的解决方法[已测]
2012/05/06 PHP
php调用c接口无错版介绍
2014/03/11 PHP
浅析PHP中的 inet_pton 网络函数
2019/12/16 PHP
js 自定义的联动下拉框
2010/02/07 Javascript
Js获取事件对象代码
2010/08/05 Javascript
jQuery LigerUI 插件介绍及使用之ligerDrag和ligerResizable示例代码打包
2011/04/06 Javascript
ExtJS4利根据登录后不同的角色分配不同的树形菜单
2014/05/02 Javascript
JavaScript极简入门教程(二):对象和函数
2014/10/25 Javascript
plupload+artdialog实现多平台上传文件
2016/07/19 Javascript
AngularJS入门教程之控制器详解
2016/07/27 Javascript
微信小程序 WXML、WXSS 和JS介绍及详解
2016/10/08 Javascript
让html元素随浏览器的大小自适应垂直居中的实现方法
2016/10/12 Javascript
JavaScript中三种常见的排序方法
2017/02/24 Javascript
canvas绘制多边形
2017/02/24 Javascript
lhgcalendar时间插件限制只能选择三个月的实现方法
2017/07/03 Javascript
用vue构建多页面应用的示例代码
2017/09/20 Javascript
基于nodejs实现微信支付功能
2017/12/20 NodeJs
Vue SSR 组件加载问题
2018/05/02 Javascript
vue--vuex详解
2019/04/15 Javascript
vue-calendar-component 封装多日期选择组件的实例代码
2020/12/04 Vue.js
django自定义Field实现一个字段存储以逗号分隔的字符串
2014/04/27 Python
Python使用poplib模块和smtplib模块收发电子邮件的教程
2016/07/02 Python
简述Python2与Python3的不同点
2018/01/21 Python
纯CSS3制作的鼠标悬停时边框旋转
2017/01/03 HTML / CSS
前端实现弹幕效果的方法总结(包含css3和canvas的实现方式)
2018/07/12 HTML / CSS
厨师长岗位职责
2014/03/02 职场文书
网上祭先烈心得体会
2014/09/01 职场文书
节约每一滴水演讲稿
2014/09/09 职场文书
售后客服个人自我评价
2014/09/14 职场文书
小学一年级学生评语大全
2014/12/25 职场文书
离婚承诺书格式范文
2015/05/04 职场文书
幼儿园春季开学通知
2015/07/16 职场文书
大学组织委员竞选稿
2015/11/21 职场文书
经典励志格言:每日一句,让你每天充满能量
2019/08/16 职场文书
mysql5.6主从搭建以及不同步问题详解
2021/12/04 MySQL