PHP 板


LINE

看板 PHP  RSS
HTML版本 http://blog.pixnet.net/kewang/post/2860524 了解外部呼叫JavaScript跟PHP(1)之後,接下來就要做線上人數偵測。 參考了網站建置百寶箱的這篇文章之後,我們必須將程式碼的輸出部分修改為 document.writeln的方式。 大家會發現我寫的第一篇文章,裡面用到一堆的echo還有document.writeln, 因為太繁雜了,我們可以用function改寫,到時候如果有一大堆的 document.writeln我們直接呼叫print_by_js就可以了。 function print_by_js($string) { echo "document.writeln(\"$string\");\n"; } 在開發此功能時,需要建立兩個檔案ip.txt以及time.txt,權限均為666。 下面就是我改寫網站建置百寶箱文章之後的原始碼,而且我多增加了一個功能, 就是顯示你瀏覽此網站的IP。 <?php //treat the php file as javascript file Header("content-type: application/x-javascript"); //call external javascript function print_by_js($string) { echo "document.writeln(\"$string\");\n"; } //get time of day $now = gettimeofday(); $filetime = file_get_contents('time.txt'); //if time.txt is NULL, then write now['sec'] to time.txt and clear ip.txt if($filetime == '') { $f_time = fopen('time.txt', 'w+'); fputs($f_time, $now['sec']); fclose($f_time); $f_ip=fopen('ip.txt', 'w+'); fputs($f_ip, ''); fclose($f_ip); } //get time of today $filetime = file_get_contents('time.txt'); //refresh time is 60secs $threshold = ($now['sec'] - $filetime); //if refresh time is greater than 60secs, then clear time.txt if($threshold > 60) { $f_time = fopen('time.txt', 'w+'); fputs($f_time, ''); fclose($f_time); } //open ip.txt, its mode is "append" $f_ip = fopen('ip.txt', 'a+'); //get remote address $ip = $_SERVER['REMOTE_ADDR']; $flag = 1; $fileip = file('ip.txt'); $total = count($fileip); //exclusive the same IP for($i = 0; $i < $total; $i++) { if("$ip\n" == $fileip[$i]) { $flag = 0; break; } } if($flag == 1) { $ipstring = "$ip\n"; fputs($f_ip, $ipstring); } fclose($f_ip); //show onlines $fileip = file('ip.txt'); $onlines = count($fileip); print_by_js("您的IP為$ip<br />"); print_by_js("目前線上人數:$onlines"); ?> 有了這項利器,以後在開發blog的時候就非常方便了。 參考資料: External JavaScript and PHP 首頁∕PHP建構術∕線上人數統計 外部呼叫JavaScript跟PHP(1) -- 雜七雜八的kewang部落格 http://kewang.pixnet.net --



※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.139.56.187
1F:推 j87b0003:好讚。受益良多 02/21 15:12
※ 編輯: kewang 來自: 220.139.56.187 (02/21 22:52)







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:Tech_Job站內搜尋

TOP