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的urlencode()URL编码函数浅析
Aug 09 PHP
PHP执行Curl时报错提示CURL ERROR: Recv failure: Connection reset by peer的解决方法
Jun 26 PHP
php常用hash加密函数
Nov 22 PHP
php简单获取文件扩展名的方法
Mar 24 PHP
PHP常用工具类大全附全部代码下载
Dec 07 PHP
PHP Cookie学习笔记
Aug 23 PHP
PHP实现的redis主从数据库状态检测功能示例
Jul 20 PHP
Laravel5.* 打印出执行的sql语句的方法
Jul 24 PHP
PHP开发之归档格式phar文件概念与用法详解【创建,使用,解包还原提取】
Nov 17 PHP
基于php双引号中访问数组元素报错的解决方法
Feb 01 PHP
laravel5.5安装jwt-auth 生成token令牌的示例
Oct 24 PHP
阿里云服务器搭建Php+Apache运行环境的详细过程
May 15 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版微信公众平台红包API
2015/04/02 PHP
PHP 7.0新增加的特性介绍
2017/06/08 PHP
php使用curl获取header检测开启GZip压缩的方法
2018/08/15 PHP
PHP fprintf()函数用法讲解
2019/02/16 PHP
根据分辩率调用不同的CSS.
2007/01/08 Javascript
JavaScript的parseInt 取整使用
2011/05/09 Javascript
jQuery插件实现文字无缝向上滚动效果代码
2016/02/25 Javascript
BootStrap扔进Django里的方法详解
2016/05/13 Javascript
AngularJS使用ng-repeat指令实现下拉框
2016/08/23 Javascript
HTML5+jQuery实现搜索智能匹配功能
2017/03/24 jQuery
js 去掉字符串前后空格实现代码集合
2017/03/25 Javascript
从parcel.js打包出错到选择nvm的全部过程
2018/01/23 Javascript
node前端开发模板引擎Jade的入门
2018/05/11 Javascript
简化版的vue-router实现思路详解
2018/10/19 Javascript
vue-cli安装使用流程步骤详解
2018/11/08 Javascript
详解Vue中的基本语法和常用指令
2019/07/23 Javascript
layer弹出层显示在top顶层的方法
2019/09/11 Javascript
JavaScript定时器使用方法详解
2020/03/26 Javascript
封装 axios+promise通用请求函数操作
2020/08/11 Javascript
详解Vue的七种传值方式
2021/02/08 Vue.js
[02:55]含熏伴清风,风行者至宝、屠夫身心及典藏宝瓶二展示
2020/09/08 DOTA
Python pyinotify日志监控系统处理日志的方法
2018/03/08 Python
Python判断两个list是否是父子集关系的实例
2018/05/04 Python
解决python中无法自动补全代码的问题
2018/12/04 Python
用python生成(动态彩色)二维码的方法(使用myqr库实现)
2019/06/24 Python
浅析Django 接收所有文件,前端展示文件(包括视频,文件,图片)ajax请求
2020/03/09 Python
Django封装交互接口代码
2020/07/12 Python
python爬虫 requests-html的使用
2020/11/30 Python
pycharm + django跨域无提示的解决方法
2020/12/06 Python
使用Html5多媒体实现微信语音功能
2019/07/26 HTML / CSS
什么是JNDI的上下文?如何初始化JNDI上下文
2012/03/10 面试题
2014年父亲节活动方案
2014/03/06 职场文书
篝火晚会主持词
2014/03/25 职场文书
行政执法作风整顿剖析材料
2014/10/11 职场文书
投资公司董事长岗位职责
2015/04/16 职场文书
学生会工作感言
2015/08/07 职场文书