Page counter principle

xiaoxiao2021-03-06  39

Page counter principle

Author: Unknown from: World Resources Network collected Published: 2004-8-17 0:21:00 (excerpt from CCU newsgroups, may have been the source of Taiwan published a book about PHP: PHP book) is a visitor counter Let Web visitors know the most direct way to the popularity of this web page or website. Especially those who want to make money with web pages, the number of visitors is the best words of advertisers. Of course, you can write the number of websites to a statistical report, but always feel that it is more realistic, and I've seen it asks. In the above figure, the flow of the visitor counter is as follows 1. The first user browses a page. 2. The server is read from the database or file to the number of times the page is viewed. 3. Add a number of times, and send it back to the first user. 4. The second user browses a page. 5. The server reads the number of times the page is read from the database or file. 6. Plus the number of times, and send it back to the second user. PHP does not have a special visitor counter, but we can write a guest counter file with PHP's powerful feature. The following functions are the prototype of the visitor counter, which is provided by David W. Bettis and has been modified by the author. Visitor counter original </ title> </ head> <body> <? php / * Simple access counter for php3 (c) 1998 David W. Bettis dbettis@eyeintegrated.com Medify by Wilson Peng * / $ counterfile = "/tmp/counter.txt"; Function DisplayCounter ($ counter) {$ fp = fopen ($ counterfile, "rw"); $ Num = fgets ($ fp, 5); $ Num = 1 Print "You are No.". "$ NUM". "Bless Bless"; Exec ("RM -RF $ Counterfile"); Exec ("Echo $ Num> $ Counterfile);} if (! File_exists ($ Counterfile )) {EXEC ("Echo 0> $ counter");} DisplayCounter;?> </ body> </ html> copyright? 1998 David W. Bettis When reading this page, the PHP program first looks The / TMP/Counter.txt file exists, if there is no existence, create a Counter.txt file, then write 0 to the file. Then read the contents of the Counter.txt file, that is, the pure text file, then store the numbers in the $ NUM variable. In front of the number of variables in $ NUM, there is a plus action, allowing the user to increase. Of course, if you want to irrigate, you will add two or three, but self-deception is useless. Finally, the number of visitors will be returned / TMP/COUNTER.TXT is OK. Of course, every page must be written like this, I can't trouble it. At this time, we can use the Require () feature provided by PHP, set the counter into a single, and the sauce is more convenient. First first, first add the Apache's set file (httpd.conf) to the PHP Include file.</p> <p>For example, you have to set all the include files in http://abdefghijk.com.tw/include, you can add the following example php3_include_path in httpd.conf.: ./ include: ../ INCLUDE Don't forget to restart Apache Server The new include path is valid. ./apachectl restart is then placed in the server's ... / incrude directory, the file name is copied below is mycounter () in the mYcounter (). In order to make the reader easy to understand, the variables in the program $ Counterfile, $ FP, and $ NUM are kept the same as the variable function in the counter set by David W. Bettis. <? php file: // --------------------------- // Visitor counter Funny mycounter () // Author: Wilson Peng / / Copyright (c) 1999 File: // -------------------------- Function mycounter () {$ counterfile = "/ tmp". $ GLOBALS ["PHP_SELF"]; if (! File_exists) {if (! File_exists)) {mkdir ($ counter ($ counterfile), 0700);} EXEC ("echo 0> $ ");} $ fp = fopen ($ counter," rw "); $ num = fgets ($ fp, 5); $ NUM = 1; Print" $ Num "; Echo $ Counterfile; Exec (" RM - Rf $ counter "); EXEC (" Echo $ NUM> $ Counterfile ");}?> Copyright? 1999, Wilson Peng, Of course, if you want to add the MyCounter () in Homepage, you can use it. <? PHP Require ("counter.inc");?> <html> <head> <title> Visitor counter final version </ title> </ head> <body> You are the "? mycounter ();?> Visitors </ body> </ html> Copyright? 1999, Wilson Peng To use this mycounter (), first join the require () in the beginning of HomePage, introduce mycounter () in a letter into a homepage Part. Then the <? Mycounter ();?>> String is available in a place where the counter is required. Function mycounter () {:} You need to use the above format when establishing a function. Add a Function string before you have a self-reservation name. HOMECUNTER () for each page will be added to the path of the page after / TMP, which can be reached with the $ PHP_SELF variable. $ counter = "/ tmp". $ globals ["php_self"]; To start re-counting.</p></div><div class="text-center mt-3 text-grey"> 转载请注明原文地址:https://www.9cbs.com/read-77511.html</div><div class="plugin d-flex justify-content-center mt-3"></div><hr><div class="row"><div class="col-lg-12 text-muted mt-2"><i class="icon-tags mr-2"></i><span class="badge border border-secondary mr-2"><h2 class="h6 mb-0 small"><a class="text-secondary" href="tag-2.html">9cbs</a></h2></span></div></div></div></div><div class="card card-postlist border-white shadow"><div class="card-body"><div class="card-title"><div class="d-flex justify-content-between"><div><b>New Post</b>(<span class="posts">0</span>) </div><div></div></div></div><ul class="postlist list-unstyled"> </ul></div></div><div class="d-none threadlist"><input type="checkbox" name="modtid" value="77511" checked /></div></div></div></div></div><footer class="text-muted small bg-dark py-4 mt-3" id="footer"><div class="container"><div class="row"><div class="col">CopyRight © 2020 All Rights Reserved </div><div class="col text-right">Processed: <b>0.042</b>, SQL: <b>9</b></div></div></div></footer><script src="./lang/en-us/lang.js?2.2.0"></script><script src="view/js/jquery.min.js?2.2.0"></script><script src="view/js/popper.min.js?2.2.0"></script><script src="view/js/bootstrap.min.js?2.2.0"></script><script src="view/js/xiuno.js?2.2.0"></script><script src="view/js/bootstrap-plugin.js?2.2.0"></script><script src="view/js/async.min.js?2.2.0"></script><script src="view/js/form.js?2.2.0"></script><script> var debug = DEBUG = 0; var url_rewrite_on = 1; var url_path = './'; var forumarr = {"1":"Tech"}; var fid = 1; var uid = 0; var gid = 0; xn.options.water_image_url = 'view/img/water-small.png'; </script><script src="view/js/wellcms.js?2.2.0"></script><a class="scroll-to-top rounded" href="javascript:void(0);"><i class="icon-angle-up"></i></a><a class="scroll-to-bottom rounded" href="javascript:void(0);" style="display: inline;"><i class="icon-angle-down"></i></a></body></html><script> var forum_url = 'list-1.html'; var safe_token = '8ynh3rlY736IYhk8b3FQv2rMGcwChvvdpZGlTOCuO8KqPw46goLFohUexRk7ulJdL0FjAPlWP9SZSJ9g0MkOlw_3D_3D'; var body = $('body'); body.on('submit', '#form', function() { var jthis = $(this); var jsubmit = jthis.find('#submit'); jthis.reset(); jsubmit.button('loading'); var postdata = jthis.serializeObject(); $.xpost(jthis.attr('action'), postdata, function(code, message) { if(code == 0) { location.reload(); } else { $.alert(message); jsubmit.button('reset'); } }); return false; }); function resize_image() { var jmessagelist = $('div.message'); var first_width = jmessagelist.width(); jmessagelist.each(function() { var jdiv = $(this); var maxwidth = jdiv.attr('isfirst') ? first_width : jdiv.width(); var jmessage_width = Math.min(jdiv.width(), maxwidth); jdiv.find('img, embed, iframe, video').each(function() { var jimg = $(this); var img_width = this.org_width; var img_height = this.org_height; if(!img_width) { var img_width = jimg.attr('width'); var img_height = jimg.attr('height'); this.org_width = img_width; this.org_height = img_height; } if(img_width > jmessage_width) { if(this.tagName == 'IMG') { jimg.width(jmessage_width); jimg.css('height', 'auto'); jimg.css('cursor', 'pointer'); jimg.on('click', function() { }); } else { jimg.width(jmessage_width); var height = (img_height / img_width) * jimg.width(); jimg.height(height); } } }); }); } function resize_table() { $('div.message').each(function() { var jdiv = $(this); jdiv.find('table').addClass('table').wrap('<div class="table-responsive"></div>'); }); } $(function() { resize_image(); resize_table(); $(window).on('resize', resize_image); }); var jmessage = $('#message'); jmessage.on('focus', function() {if(jmessage.t) { clearTimeout(jmessage.t); jmessage.t = null; } jmessage.css('height', '6rem'); }); jmessage.on('blur', function() {jmessage.t = setTimeout(function() { jmessage.css('height', '2.5rem');}, 1000); }); $('#nav li[data-active="fid-1"]').addClass('active'); </script>