PHP读写问题,急啊。。在线等。 本帖最后由 xuzuning 于 2011-09-20 15:42:13 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这位兄弟,你可以用memcached啊,memcached有自动过期功能,有动作的时候就设置一下动作key,同时把过期设置成5个小时。至于其他判断就很简单了 Fatal error: Class 'MemCachedClient' not found还要给Php装扩展吗?这个我没办法改啊 就是存储的时候直接存储时间戳,不转换成日期格式。取出来的时候不用strtotime,直接相减就行了啊 直接设置cookie就可以了帐号登陆时候设置cookie,失效时间为5小时如果有动作,那么就继续设置cookie,失效时间为5小时如果5小时没有动作,cookie消失了,登陆就失效了 用数组会好一些。参考:// 这个放在函数外面,最好统一设置,保持系统时间的一致。date_default_timezone_set ( 'Asia/Chongqing' );function is_send_codes($code, $cache_path = "./codelist.txt") { $fp = @fopen ( $cache_path, 'r+' ); if (FALSE === $fp) { $fp = @fopen ( $cache_path, 'w+' ); } // 读取文件 $data_string = NULL; while ( ! feof ( $fp ) ) { $data_string .= fread ( $fp, 8192 ); } fclose ( $fp ); if ($data_string != "") { $data = unserialize ( $data_string ); // 反序列化,转化成数组 } else { $data = array (); // 默认为空数据 } // 没有缓存过该帐号 if (! isset ( $data [$code] )) { $data [$code] = time (); $fp = fopen ( $cache_path, 'w+' ); fwrite ( $fp, serialize ( $data ) ); fclose ( $fp ); return TRUE; } // 缓存过,但超时 if (time () - $data [$code] > 60 * 60 * 5) { $data [$code] = time (); $fp = fopen ( $cache_path, 'w+' ); fwrite ( $fp, serialize ( $data ) ); fclose ( $fp ); return TRUE; } return FALSE;} 关于PHPMailer发邮件多发的问题 帮我看句简单语句 错在哪了 php写Webservice有什么需要注意的?数组类型应该怎么实现? 推荐一个Web2.0的社会化书签网站, 一定不要错过哦!!! 请教一个问题mysql 配置问题 php中使用nusoap调用.net写的Web Service,为什么无法传参数? IIS配置php,win2000中的问题,急急。。。。。。。。。。 求助关于设置UTF-8编码!~~~~ 怎么判断用户的非法退出? 无法连接MySQL server 右击查看源码出现乱码 ajax传来的json数据,php如何解析
还要给Php装扩展吗?这个我没办法改啊
帐号登陆时候设置cookie,失效时间为5小时
如果有动作,那么就继续设置cookie,失效时间为5小时如果5小时没有动作,cookie消失了,登陆就失效了
date_default_timezone_set ( 'Asia/Chongqing' );function is_send_codes($code, $cache_path = "./codelist.txt") {
$fp = @fopen ( $cache_path, 'r+' );
if (FALSE === $fp) {
$fp = @fopen ( $cache_path, 'w+' );
}
// 读取文件
$data_string = NULL;
while ( ! feof ( $fp ) ) {
$data_string .= fread ( $fp, 8192 );
}
fclose ( $fp );
if ($data_string != "") {
$data = unserialize ( $data_string ); // 反序列化,转化成数组
} else {
$data = array (); // 默认为空数据
}
// 没有缓存过该帐号
if (! isset ( $data [$code] )) {
$data [$code] = time ();
$fp = fopen ( $cache_path, 'w+' );
fwrite ( $fp, serialize ( $data ) );
fclose ( $fp );
return TRUE;
}
// 缓存过,但超时
if (time () - $data [$code] > 60 * 60 * 5) {
$data [$code] = time ();
$fp = fopen ( $cache_path, 'w+' );
fwrite ( $fp, serialize ( $data ) );
fclose ( $fp );
return TRUE;
}
return FALSE;
}