求解PHP处理文件(放分50)

Thaiki 2007-12-04 06:47:18
一个32位的session_id和一个两位的数字
我想用session_id做键,数字做值存到一个文件中去,形如:
$array['fdsafsa432132fsda4ij'] = 50;

要实现的功能是:
每次打开此文件,有对应的session_id就更新后面的数字,或者删除这一记录
如果没有,就加一条记录

这是一个访问量很大,并发性高的操作,这样做的目的是少查询数据库,以后考虑memcache,请问我怎么操作这个文件才好?

...全文
89 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
b2sun 2008-07-12
  • 打赏
  • 举报
回复
(1)FREEBSD 7.0 操作系统
(2)APACHE2.2
(3)PHP5

实现目标:对一些服务的配置文件进行修改保存,然后重新启动这个服务,使其生效。
举例: /etc/inetd.conf 就是inetd服务的配置文件,如典型的TELENET、FTP等服务。如果想找开它的FTP服务,就要把这个配置文件中的
#FTP stream tcp nowait root /usr/libexec/ftpd ftpd -l前面的#注释项去掉变成

FTP stream tcp nowait root /usr/libexec/ftpd ftpd -l 然后保存这个文件
执行inetd或者是ftpd
#inetd start
#kldload ftpd 之类的就可以完成配置任务。
当然,有时也会向其中加入自己特有的内容。如:
ftp stream tcp6 nowait .....之类的。

敬请各位大侠多多指点。

1。php要有权限修改inetd.conf 文件。
文件所属组和apache设置是否一样。默认都是 nobody吧
php是否安全模式运行,能否跨目录操作等。inetd.conf不会在网站目录下把
2。文件内容修改,就是读取后处理字符串,再保存。具体
$word=file('文件路径');foreach($word as $val){
//这样循环出来是文件的一行行内容,看你想怎么改一改,再组合成字符串,最后保存 file_put_contents('文件路径','文件内容');
}
3。php要能执行系统命令。exec(' 重启某服务的 freebsd命令 ');
Thaiki 2007-12-05
  • 打赏
  • 举报
回复
现在考虑生成一个js文件
为一个数组,调用的时候用js数组来做,不知道怎么搞,哎.
Thaiki 2007-12-05
  • 打赏
  • 举报
回复
我说的sessionid是指得到这个sessionid值
就说存一个数组吧
fxs_2008 2007-12-04
  • 打赏
  • 举报
回复
看不明白
session 如果不存数据库,就是存在文件里的
只是每个ID一个文件

dreambird1983 2007-12-04
  • 打赏
  • 举报
回复
还是不好,加一条记录的操作还是比较麻烦,可以考虑串行化,文件里是串行化的字符串,get_file_contents得到字符串,unrealize得到数组,比较数组单元,添加或者更新,最后realize回去。这样把对文件的操作转化成了对数组的操作,貌似效率会好点~~~
dreambird1983 2007-12-04
  • 打赏
  • 举报
回复
可以考虑写在ini文件里,读取时直接parse_ini_file(),获得session_id以及value的键值数组。不过没有想到很好的根据键值更新value的好算法......

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧