日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術(shù)文章
文章詳情頁

一個(gè)簡(jiǎn)單的PHP入門源程序

瀏覽:133日期:2024-01-05 10:21:36
引用“星空浪子”php中文文檔的例子: 聊天室,是 Web 站上打發(fā)無聊人士的秘密武器。同時(shí),站長(zhǎng)或其它人員也可以在這兒殺時(shí)間。甚至發(fā)生一段轟轟烈烈的網(wǎng)路戀情呢,就算沒有,起碼可以增加打字的速度。 聊天室,其實(shí)就是多人共同使用的 CGI 程式。程式將每個(gè)人輸入的字串,依系統(tǒng)接收完成的時(shí)間整理過后,再送給各個(gè)使用者。而 Web 聊天室和 BBS 的聊天室不同的地方是 BBS 聊天室可以每收到一句話,就馬上分送給每位在聊天室的網(wǎng)路使用者;Web 由于 CGI 程式不能像 BBS 的 telnet 一直連線,Web CGI 必須以最快的速度將資訊送出,然后結(jié)束連線。會(huì)形成這種情形,就是因?yàn)?Web 聊天室還是使用 HTTP 傳輸協(xié)定,在 HTTP 實(shí)作的版本,無論是 0.9、1.0 或是 1.1 版都不能長(zhǎng)期占據(jù)網(wǎng)路連線的 Port。 為了解決資料無法馬上傳輸?shù)膯栴},及更新訊息的問題,Netscape 在 3.0 版瀏覽器之后使用了新的技術(shù),而 Internet Explorer 也實(shí)作了這些 Netscape 研發(fā)出來的技術(shù)。Netscape 將它分成 Server Push 及 Client Pull 二種技術(shù)。Server Push 由 Web 伺服器將資料以多重 MIME 編碼,送給使用者端,目前較少網(wǎng)站使用這種方式;而 Client Pull 則利用了 HTML 的 meta 標(biāo)簽,并利用 http-equiv="Refresh" 的屬性,表示資料要重新載入,至于載入時(shí)間,則利用 content 屬性來達(dá)成。 <meta> 標(biāo)簽通常都放在 <head>..</head> 的區(qū)段中,以便讓瀏覽器可以僅早準(zhǔn)備更新使用者端的網(wǎng)頁。下面為 meta 和 PHP 合用的例子,設(shè)定為每十五秒重新載入一次。 <meta http-equiv="Refresh" content="15; url=<? echo $PHP_SELF; ?>"> 如果不用 Server Push 或是 Client Pull 來做聊天室,是否有其它的方法,讓 Web 的瀏覽器能聊天呢?答案是肯定的。可以使用 Java 或是 ActiveX (限 IE4、5) 來做甚至自行開發(fā)專屬的 Browser Plug-in 程式 (如奇摩的聊天室),不過這就和 PHP 沒有關(guān)系了,不是我們要的重點(diǎn)。 除此之外,由于定期更新所有網(wǎng)友的留言,為了怕寫了一半因?yàn)?refresh 而被清掉尚未寫好的字串,因此將聊天室以 frame 的頁框技術(shù)來做是有必要的。下例就是聊天室的主程式。 <html> <head> <title>聊天室</title> </head> <frameset rows="*,40" border=1> <frame src="list.php" name=list scrolling=auto> <frame src="post.php" name=post scrolling=no> <noframes> <body> 本聊天室需使用頁框,您的瀏覽器無法使用 </body> </noframes> </frameset> </html> 程式中以 frame 帶出二支 PHP 程式,建議將它們放在同一目錄之中,例如 /chatroom,以便日后維護(hù)。另外,為了 list.php 及 post.php 可以使用相同的變數(shù),下例將共通的變路路徑放在 env.inc 中,可以將它放在 /chatroom 或是 Web 伺服器 (如 Apache) 的 PHP include 設(shè)定路徑中。 <?php // 檔名: env.inc $tempdir="/tmp/"$chatfile="/tmp/abc"?> 聊天室的后端可以設(shè)計(jì)的很簡(jiǎn)單,單純的使用檔案來做,也可以弄個(gè)資料庫(kù),將聊天的內(nèi)容丟入,若是真的很在意系統(tǒng)效率,或許可以考慮使用 UNIX 的行程通訊 IPC 了。 本節(jié)即將使用者留言的內(nèi)容放入檔案中,在這兒的例子大部份都使用 UNIX/Linux 的外部指令。若系統(tǒng)無該指令 (或稱程式),請(qǐng)自行安裝相關(guān)程式。 實(shí)際上將資料丟入檔案中會(huì)比使用資料庫(kù)還快,若還很在乎速度,可以在 UNIX 機(jī)器中裝上 RAM Disk,再將檔案的存取路徑都設(shè)在該 RAM Disk 上,保證存取速度能滿足嚴(yán)苛的要求。在有些以高速度搜尋引擎為號(hào)召的網(wǎng)站,甚至將整個(gè)資料庫(kù)資料都放到 RAM Disk 中,馬上讓系統(tǒng)速度提高十倍百倍,而且 RAM 的價(jià)格和其它解決方案相比的話還算很便宜。若使用 Windows NT,那就沒辦法了,看微軟什么時(shí)候提供,或者用 Third Party 的產(chǎn)品了。 有些使用者可能對(duì) UNIX 還不是很熟,在這兒先簡(jiǎn)介會(huì)用到的指令: touch: 建立新檔案,或修改舊檔的最后更新日期。 echo 加上二個(gè)大于符號(hào): 將字串顯示轉(zhuǎn)向到指定的地方。 tail: 顯示檔案最后數(shù)行的資料,內(nèi)定值為十行,可使用減號(hào)加數(shù)字,修改欲顯示的行數(shù)。 下面為送出及處理留言字串的程式,程式用到 env.inc 的檔案。 <?php // 檔名: post.php require("env.inc"); if (($chatuser!="") and ($chattext!="")) { ;;$chatstr="<font color=8080ff>".date("h:i:s")."</font>-<font color=ff8080>".$chatuser."</font>: ".$chattext; ;;$cmdstr="echo "".$chatstr."" >> ".$chatfile; ;;if (!file_exists($chatfile)) passthru("touch ".$chatfile); ;;passthru($cmdstr); } ?><html> <body bgcolor=ffffff leftmargin=0 topmargin=0 marginheight=0 marginwidth=0> <form action=<? echo $PHP_SELF; ?> method=post> <table border=0 width=100%><tr> <td align=right>匿稱:</td> <td><input type=text name=chatuser size=8 value="<? echo $chatuser; ?>"></td> <td align=right>發(fā)言:</td> <td><input type=text name=chattext size=30 maxlength=500></td> <td><div align=right><input type=submit value="送出"></td> </tr></table> </form> </body> </html> 程式先檢查是否有輸入字串,若無匿名及發(fā)言內(nèi)容字串則顯示發(fā)言的表單 (Form),若有資料則將字串及當(dāng)時(shí)時(shí)間存入檔案中 (利用 UNIX 的轉(zhuǎn)向指令)。當(dāng)然,為了防止錯(cuò)誤,先檢查是否有檔案可存檔,若沒有則先 touch 該檔,例中的檔案就是 /tmp/abc。 <html> <meta http-equiv="Refresh" content="5; url=<? echo $PHP_SELF; ?>"> <meta content="text/html; charset=gb2312" http-equiv=Content-Type> <body bgcolor=ffffff leftmargin=0 topmargin=0 marginheight=0 marginwidth=0> <? // 檔名: list.php require("env.inc"); if (!file_exists($chatfile)) { ;;echo "尚未開張</body></html>";exit; } $uniqfile=$tempdir.uniqid(rand()); $shellcmd="/usr/bin/tail -50 ".$chatfile. " > ".$uniqfile; passthru($shellcmd); $chatfilearray=file($uniqfile); $j=count($chatfilearray); for ($i=1; $i<=$j; $i++) { ;;echo $chatfilearray[$j-$i]."<br>n"} unlink($uniqfile); ?> </body> </html> 上面的程式就是使用 Client Pull 的技術(shù),每五秒就重新更新一次。同樣地,它也 require 共用的 env.inc 檔,要改變其中的變數(shù)時(shí),馬上就可以讓所有的程式用到,這對(duì)開發(fā)網(wǎng)站來說,是蠻重要的方法,可以將網(wǎng)頁程式中都會(huì)出現(xiàn)的地方。例如 Copyright (C) 1996-2000 的字串,放在一個(gè)檔案上,到了新的一年,只要改一個(gè)檔,整個(gè)站都改了。 if (!file_exists($chatfile)) { ;;echo "尚未開張</body></html>";exit; } $uniqfile=$tempdir.uniqid(rand()); $shellcmd="/usr/bin/tail -50 ".$chatfile. " > ".$uniqfile; passthru($shellcmd); 程式先檢查有沒有使用者發(fā)送聊天內(nèi)容的檔案 /tmp/abc,若沒有就顯示尚未開張,等使用者送聊天內(nèi)容。若已有聊天資料,就抓出最后五十筆,在在另外的檔案中準(zhǔn)備顯示。 $chatfilearray=file($uniqfile); $j=count($chatfilearray); for ($i=1; $i<=$j; $i++) { ;;echo $chatfilearray[$j-$i]."<br>n"} unlink($uniqfile); 將檔案讀入陣列變數(shù) $chatfilearray 中,并以最后的資料最先顯示的方式送給瀏覽器端,當(dāng)然可以使用對(duì)陣列排序的方法,但確定一定時(shí)最后存入的資料在最后面,將它排序?qū)嵲诤芾速M(fèi) CPU 時(shí)間,因此就從最后 echo 到最前面的資料。使用完成還要用 unlink() 指令,將臨時(shí)檔殺掉。
標(biāo)簽: PHP
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
精品视频亚洲| 欧美日一区二区三区在线观看国产免 | 亚洲精品日本| 日韩一区中文| 欧美在线黄色| 欧美精品影院| 麻豆精品新av中文字幕| 国产在线一区不卡| 欧美久久天堂| 国模 一区 二区 三区| 欧美日韩视频| 亚洲免费福利一区| 国产日韩一区| bbw在线视频| 欧美日韩一二三四| 午夜久久tv| 日精品一区二区三区| 欧美片网站免费| 水蜜桃久久夜色精品一区| 亚洲美女久久精品| 一区二区视频欧美| 亚洲精品影视| 麻豆成人91精品二区三区| 日韩在线免费| 日韩精品一二区| 国产欧美日韩一区二区三区在线| 精品国产一区二| 91精品国产91久久久久久黑人| 国产视频一区欧美| 国产日韩1区| 国产一区二区三区不卡视频网站 | 久久亚洲黄色| 欧美日韩中文一区二区| 亚洲一二三区视频| 美女视频黄久久| 欧美成人综合| 91精品国产自产在线丝袜啪| 精品一区二区三区视频在线播放 | 亚洲开心激情| 免费在线亚洲欧美| 欧美肉体xxxx裸体137大胆| 男女男精品网站| 国产精品久久久久久久久久白浆| 亚洲精品国产嫩草在线观看| 免费观看在线综合色| 麻豆精品视频在线观看视频| 国产一区日韩欧美| 日韩av影院| 免费在线小视频| 中文字幕av一区二区三区人 | 无码日韩精品一区二区免费| 精品免费av| 老鸭窝毛片一区二区三区| 久久av影院| 国产免费成人| 精品日韩一区| 亚洲一级淫片| 神马久久午夜| 国产亚洲久久| 国产综合精品| 国产精品115| 久久aⅴ国产紧身牛仔裤| 国产一区二区三区国产精品| 玖玖玖国产精品| 四虎4545www国产精品| 日韩精品一级| 欧美日韩第一| 国内不卡的一区二区三区中文字幕 | 精品视频自拍| 中文字幕中文字幕精品| 日韩欧美精品一区| 久久国产乱子精品免费女| 激情婷婷综合| 日韩av在线播放网址| 偷拍亚洲精品| 国产亚洲毛片| 日本а中文在线天堂| 久久狠狠久久| 欧美日韩国产在线观看网站| 精品一区二区三区中文字幕视频 | 噜噜噜躁狠狠躁狠狠精品视频| 国产成人久久| 欧美日韩99| 亚洲专区一区| 欧美日韩在线播放视频| 精品九九在线| 欧美日韩18| 日韩中文字幕91| 亚洲v在线看| 欧美激情另类| 国产精品1区| 青青伊人久久| 亚洲精品激情| 视频在线在亚洲| 亚洲午夜黄色| 精品丝袜在线| 91视频一区| 国产精品黄色片| 欧美日韩一区自拍| 亚洲精品成a人ⅴ香蕉片| 亚洲视频播放| 亚洲精品一二三区区别| 国产一区二区三区四区五区| **爰片久久毛片| 日本不卡视频一二三区| 亚洲欧美日韩国产一区| 九色精品91| 亚洲先锋成人| 99久久久久国产精品| 群体交乱之放荡娇妻一区二区| 国产第一亚洲| 久久久男人天堂| 91欧美国产| 日本在线高清| 日韩在线观看一区| 亚洲综合在线电影| 日韩欧美在线中字| caoporn视频在线| 国产精品二区不卡| 成人在线黄色| 特黄毛片在线观看| 成人亚洲欧美| 久久婷婷亚洲| 婷婷激情图片久久| 红桃视频亚洲| 免费成人在线观看| 蜜桃视频在线观看一区| 亚洲欧洲美洲国产香蕉| 日韩福利在线观看| 国产精品1区| 国产精品二区不卡| 欧美日韩视频网站| 亚洲不卡av不卡一区二区| 国精品一区二区| 麻豆亚洲精品| 日韩精品五月天| 欧美黄页在线免费观看 | 国产精品地址| 日韩av专区| 国内精品99| 一区二区亚洲视频| 国产精品视频一区视频二区| 美日韩一区二区三区| av免费不卡国产观看| 激情久久中文字幕| 99在线观看免费视频精品观看| 中文字幕系列一区| 久久国产精品99国产| 91精品在线免费视频| 精品一区91| 香蕉人人精品| 亚欧成人精品| 国产一区二区三区久久| 激情婷婷欧美| 视频在线观看国产精品| 日韩1区2区3区| 国产成人免费视频网站视频社区| 成人羞羞视频在线看网址| 日韩一区二区免费看| 奇米777国产一区国产二区| 超碰在线99| 中文精品视频| 国产精品1区在线| 国产一区亚洲| 欧美在线不卡| 日韩一区自拍| 免费观看久久久4p| 你懂的网址国产 欧美| 久久精品免费一区二区三区| 免费看精品久久片| 久久精品国产亚洲aⅴ| 欧美精选一区二区三区| 日本电影久久久| 黑人精品一区| 亚洲三区欧美一区国产二区| 国产成人免费| 亚洲少妇一区| 美女在线视频一区| 午夜久久美女| 久久xxx视频| 亚洲免费中文| 精品免费视频| 石原莉奈在线亚洲三区| 国产91在线精品| 蜜桃久久精品一区二区| 日本久久综合| 日韩欧美四区| 久久精品免费一区二区三区| 久久精品 人人爱| 不卡在线一区二区| 国产精品天天看天天狠| 亚洲精品a级片| 久久av综合| 久热精品在线| 欧美精品日日操| 国产精品日韩精品在线播放| 亚洲大全视频| 国产一区二区三区四区五区| 日本在线视频一区二区| 国产一区日韩一区|