作者davidou (老欧 ! 月夜雪岚)
看板PHP
标题Re: [请益] 档案写入问题
时间Sat Oct 15 15:48:06 2011
※ 引述《catxii (翻滚吧!!鸡蛋)》之铭言:
: 我用txt写得计数器作点修改.每次倒数到9就会自动跳到89 可以帮忙看一下吗?感谢
: <?php
: // 以「可读、可写」模式 ("r+") 开启计数器档 counter.txt
: $fp = fopen ("counter.txt","r+");
: // 由档案读取计器数值, 并将其值加 1
: $counter = fgets ($fp,80);
: $counter = doubleval ($counter) - 1;
: // 将档案指位器 (pointer) 指回初始位置, 并写入计数器值
: fseek ($fp,0);
问题出在这行
: fputs ($fp,$counter);
: fclose ($fp); //关闭档案
: ?>
其实你可以把後面直接替换成这样就好啦
$fp=fopen("counter.txt","w");
fwrite($fp,$counter);
fclose($fp);
直接整个清空写入 应该比较简单吧?
另外就是 如果用开档 读档 写档的方式 当计数器时
你只要同时有人登你的网站 你的计数器数字就会有问题了喔
例如你刚好在写入时 别人登入要开档 这时候档案好像会瞬间是空白的
然後後面那个人就会开到一个空白的档案 然後 在帮你存入
你原本txt档的资料就都不见了
当然我以前也异想天开在多一个while去玩判断拉 当只要开到空白档案时
就算错误 就等几秒再从开
阿不过这是一个很白烂的做法.. 最後还是把计数器写到sql去了
--
只有正妹的无名才有连结价值阿..
http://www.wretch.cc/blog/fancyou
非正妹 所以没有连结价值
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 218.170.108.125
1F:推 chrisQQ:flock~ 10/15 16:09
2F:推 catxii:感谢 问题已解决 10/15 16:21