Home >Backend Development >PHP Tutorial >Counter The simplest PHP program--Counter

Counter The simplest PHP program--Counter

WBOY
WBOYOriginal
2016-07-29 08:33:391214browse

Principle:
1. The first user browses a certain page.
2. The server program reads the number of times the page has been viewed from the database or file.
3. Store the number plus one and send it back to the first user.
4. The second user browses a certain page.
5. The server program reads the number of times the page has been viewed from the database or file.
6. Save the number by one and send it back to the second user.
Functions you need to know:
fopen() opens a file
filesize() gets the file size
fseek() moves the file pointer
fgets() gets the content of the line where the file pointer is
fputs() writes the string as the position of the file pointer
fclose() closes the file
file_exists() determines whether the file exists
exec() executes an external program
The simplest counter:


Visitor Counter Prototype</title> ; <br></head> <br><body> <br><?php <br>/* <br>(c)1998 David W. Bettis <br>Here is the copyright information <br>*/ <br>$counterFile = "counter.txt"; <br>#here Define the counter file <br>function displayCounter($counterFile) { <br>$fp = fopen($counterFile,"rw"); <br>#Open the file in read and write mode <br>$num = fgets($fp,5); <br> #Get the current number <br>$num += 1; <br>#Add 1 <br>print "You are the "."$num"." boring person"; <br>exec( "rm -rf $counterFile"); <br>exec( " echo $num > $counterFile"); <br>#Lazy way, write without using fputs <br>} <br>if (!file_exists($counterFile)) { <br>exec( "echo 0 > $counterFile"); #If the counter file does not exist, create it and set the content to 0 <br>displayCounter($counterFile); <br>?> <br></body> <br></html> <br>PHP counter simpler version: <br>< ;? <br>#The copyright is gone, it’s that simple <br>$fp=fopen("counter.txt","r+"); <br>flock($fp,3); <br>#Open the counter file and lock it <br>$fsize= filesize("count.txt"); <br>$count=fgets($fp,$fsize+1); <br>$count++; <br>#Get the number and add one <br>fseek($fp,0); <br>fputs($fp, $count); <br>fclose($fp); <br>#Write new numbers to the file<br>echo "You are the $count visitor"; <br>?> <br>PHP counter graphic version: <br>Create 10 pictures, I won’t go into details about how to combine digital strings with pictures. Assume that the pictures are 0.gif ~ 9.gif. <br><? <br>....$count is the obtained value <br>$strcount=strval($count); <br>$strcount=chop($strcount); <br>$countlen=$strlen($strcount); <br>$shtml=""; <br>for ($i=0; $i<$countlen; $i++) { <br>$shtml. ="<img src='"; <br>$shtml.=$strcount[$i]; <br>$shtml.=".gif'>"; <br>} <br>echo $shtml; <br>?> <br>PHP count Server database version: <br>Use SQL counter, build the table first <br>CREATE TABLE counter <br>( <br>counter int not null, <br>id int not null <br>) <br>INSERT INTO counter(counter,id) VALUE( 0,1) <br><? <br>$c ..., ...); <br>#MySQL database connection <br>$sql="select * from counter"; <br>$result=mysql_query($sql,$conn); <br> $objresult=mysql_fetch_object($result); <br>$count=$objresult->counter; <br>$count++; <br>$sql="update counter set counter=".$count."where id=1"; <br>mysql_query($ sql,$conn); <br>mysql_close($conn); <br>echo "You are the $count visitor"; <br>?> <br> The above has introduced the counter. The simplest PHP program - the counter, including the counter content, I hope it will be helpful to friends who are interested in PHP tutorials. <br> </p> <p> </p></div><div class="nphpQianMsg"><div class="clear"></div></div><div class="nphpQianSheng"><span>Statement:</span><div>The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn</div></div></div><div class="nphpSytBox"><span>Previous article:<a class="dBlack" title="make me cry make me smile a database abstraction layer function library for mysql" href="https://m.php.cn/faq/320898.html">make me cry make me smile a database abstraction layer function library for mysql</a></span><span>Next article:<a class="dBlack" title="make me cry make me smile a database abstraction layer function library for mysql" href="https://m.php.cn/faq/320900.html">make me cry make me smile a database abstraction layer function library for mysql</a></span></div><div class="nphpSytBox2"><div class="nphpZbktTitle"><h2>Related articles</h2><em><a href="https://m.php.cn/article.html" class="bBlack"><i>See more</i><b></b></a></em><div class="clear"></div></div><ins class="adsbygoogle" style="display:block" data-ad-format="fluid" data-ad-layout-key="-6t+ed+2i-1n-4w" data-ad-client="ca-pub-5902227090019525" data-ad-slot="8966999616"></ins><script> (adsbygoogle = window.adsbygoogle || []).push({}); </script><ul class="nphpXgwzList"><li><b></b><a href="https://m.php.cn/faq/1.html" title="How to use cURL to implement Get and Post requests in PHP" class="aBlack">How to use cURL to implement Get and Post requests in PHP</a><div class="clear"></div></li><li><b></b><a href="https://m.php.cn/faq/1.html" title="How to use cURL to implement Get and Post requests in PHP" class="aBlack">How to use cURL to implement Get and Post requests in PHP</a><div class="clear"></div></li><li><b></b><a href="https://m.php.cn/faq/1.html" title="How to use cURL to implement Get and Post requests in PHP" class="aBlack">How to use cURL to implement Get and Post requests in PHP</a><div class="clear"></div></li><li><b></b><a href="https://m.php.cn/faq/1.html" title="How to use cURL to implement Get and Post requests in PHP" class="aBlack">How to use cURL to implement Get and Post requests in PHP</a><div class="clear"></div></li><li><b></b><a href="https://m.php.cn/faq/2.html" title="All expression symbols in regular expressions (summary)" class="aBlack">All expression symbols in regular expressions (summary)</a><div class="clear"></div></li></ul></div></div><ins class="adsbygoogle" style="display:block" data-ad-format="autorelaxed" data-ad-client="ca-pub-5902227090019525" data-ad-slot="5027754603"></ins><script> (adsbygoogle = window.adsbygoogle || []).push({}); </script><footer><div class="footer"><div class="footertop"><img src="/static/imghwm/logo.png" alt=""><p>Public welfare online PHP training,Help PHP learners grow quickly!</p></div><div class="footermid"><a href="https://m.php.cn/about/us.html">About us</a><a href="https://m.php.cn/about/disclaimer.html">Disclaimer</a><a href="https://m.php.cn/update/article_0_1.html">Sitemap</a></div><div class="footerbottom"><p> © php.cn All rights reserved </p></div></div></footer><script>isLogin = 0;</script><script type="text/javascript" src="/static/layui/layui.js"></script><script type="text/javascript" src="/static/js/global.js?4.9.47"></script></div><script src="https://vdse.bdstatic.com//search-video.v1.min.js"></script><link rel='stylesheet' id='_main-css' href='/static/css/viewer.min.css' type='text/css' media='all'/><script type='text/javascript' src='/static/js/viewer.min.js?1'></script><script type='text/javascript' src='/static/js/jquery-viewer.min.js'></script><script>jQuery.fn.wait = function (func, times, interval) { var _times = times || -1, //100次 _interval = interval || 20, //20毫秒每次 _self = this, _selector = this.selector, //选择器 _iIntervalID; //定时器id if( this.length ){ //如果已经获取到了,就直接执行函数 func && func.call(this); } else { _iIntervalID = setInterval(function() { if(!_times) { //是0就退出 clearInterval(_iIntervalID); } _times <= 0 || _times--; //如果是正数就 -- _self = $(_selector); //再次选择 if( _self.length ) { //判断是否取到 func && func.call(_self); clearInterval(_iIntervalID); } }, _interval); } return this; } $("table.syntaxhighlighter").wait(function() { $('table.syntaxhighlighter').append("<p class='cnblogs_code_footer'><span class='cnblogs_code_footer_icon'></span></p>"); }); $(document).on("click", ".cnblogs_code_footer",function(){ $(this).parents('table.syntaxhighlighter').css('display','inline-table');$(this).hide(); }); $('.nphpQianCont').viewer({navbar:true,title:false,toolbar:false,movable:false,viewed:function(){$('img').click(function(){$('.viewer-close').trigger('click');});}}); </script></body><!-- Matomo --><script> var _paq = window._paq = window._paq || []; /* tracker methods like "setCustomDimension" should be called before "trackPageView" */ _paq.push(['trackPageView']); _paq.push(['enableLinkTracking']); (function() { var u="https://tongji.php.cn/"; _paq.push(['setTrackerUrl', u+'matomo.php']); _paq.push(['setSiteId', '9']); var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0]; g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s); })(); </script><!-- End Matomo Code --></html>