Php implements the method of counting the number of online users of a website.
This example describes how to use php to count the number of online users of a website. Share it with you for your reference. The specific implementation method is as follows:
<? Phpfunction getIpAddress () {// obtain the current user's ip address if (getenv ('HTTP _ CLIENT_IP ') {$ ip = getenv ('HTTP _ CLIENT_IP ');} elseif (getenv ('HTTP _ X_FORWARDED_FOR ') {$ ip = getenv ('HTTP _ X_FORWARDED_FOR');} elseif (getenv ('remote _ ADDR ')) {$ ip = getenv ('remote _ ADDR ');} else {$ ip = $ _ SERVER ['remoe _ ADDR'];} return $ ip ;} function writeover ($ filename, $ data, $ method = 'w', $ chmod = 0) {$ handle = fopen ($ filename, $ met Hod );! Handle & die ("file opening failed"); flock ($ handle, LOCK_EX); fwrite ($ handle, $ data); flock ($ handle, LOCK_UN ); fclose ($ handle); $ chmod & @ chmod ($ filename, 0777);} function count_online_num ($ time, $ ip) {$ fileCount = '. /count.txt '; $ count = 0; $ gap = 900; // if (! File_exists ($ fileCount) {$ str = $ time. "\ t ". $ ip. "\ r \ n"; writeover ($ fileCount, $ str, 'w', 1); $ count = 1 ;}else {$ arr = file ($ fileCount ); $ flag = 0; foreach ($ arr as $ key => $ val) {$ val = trim ($ val); if ($ val! = "") {List ($ when, $ seti) = explode ("\ t", $ val); if ($ seti = $ ip) {$ arr [$ key] = $ time. "\ t ". $ seti; $ flag = 1;} else {$ currentTime = time (); if ($ currentTime-$ when> 900) {unset ($ arr [$ key]);} else {$ arr [$ key] = $ val ;}}} if ($ flag = 0) {array_push ($ arr, $ time. "\ t ". $ ip) ;}$ count = count ($ arr); $ str = implode ("\ r \ n", $ arr); $ str. = "\ r \ n"; writeover ($ fileCount, $ str, 'w', 0); unset ($ Rr);} return $ count;} $ time = time (); $ ip = getIpAddress (); $ online_num = count_online_num ($ time, $ ip ); echo $ online_num;?>
I hope this article will help you with php programming.