你可以遇到竞争条件的问题
如果您只需要简单的附加数据,可以避免这种情况
file_put_contents(,,FILE_APPEND|LOCK_EX);
Run Code Online (Sandbox Code Playgroud)
并且不要担心您的数据完整性.
如果您需要更复杂的操作,可以使用flock(用于简单的读写器问题)
对于你的PHP脚本计数器,我建议你做这样的事情:
//> Register this impression
file_put_contents( $file, "\n", FILE_APPEND|LOCK_EX );
//> Read the total number of impression
echo count(file($file));
Run Code Online (Sandbox Code Playgroud)
这样您就不必实现阻塞机制,并且可以使系统和代码脚本更轻松
为了避免不得不计数,array file()你可以保持系统更轻:
//> Register this impression
file_put_contents( $file, '1', FILE_APPEND|LOCK_EX );
//> Read the total number of impression
echo filesize($file);
Run Code Online (Sandbox Code Playgroud)
基本上读取你的计数器的数量,你只需要读取它的文件大小,考虑到每个印象添加1个字节
| 归档时间: |
|
| 查看次数: |
1501 次 |
| 最近记录: |