Time of Update: 2016-07-21
與伺服器對話 現在我們已經串連到了伺服器,可以通過前面開啟的socket同伺服器對話了。比如說我們要從某個新聞群組得到最近的10篇文章。RFC977指出,第一步要用GROUP命令選擇正確的新聞群組: GROUP ggg 參數ggg是要選擇的新聞群組的名字(比如說是"net.news"),這是必需的。可用的新聞群組的列表可以用LIST命令得到。選擇新聞群組的命令成功後,返回組中第一篇和最後一篇文章的文章編號,以及組中文章的數目。 下面是一個例子: chrome:
Time of Update: 2016-07-21
PHP執行個體剖析:計數器 作者:Sucre_tiger 本款計數器用文本計數,沒有用到資料庫,可以實現如下功能: 利用一個文字檔實現多個頁的計數減少伺服器的I/O佔用率在需要紀錄的檔案裡,只需加入很少的幾行代碼 基本思路如下: 伺服器程式從文字檔中讀取該頁被瀏覽的次數,(因為所有檔案向伺服器提出請求時,他們的環境變數REQUEST_URI都代表他來自於何處...
Time of Update: 2016-07-21
//Php做的連接埠嗅探器--可以指定網站和連接埠 //並返回嗅探結果 function http_request($server, $port) { $data = ""; $query = "HEAD / HTTP/1.0"; $fp = fsockopen($server, $port); if($fp) { fputs($fp, $query."rnn"); while(!feof($fp)) { $data .=
Time of Update: 2016-07-21
查看他的登陸頁面的代碼, 看他提交到哪個頁面, 變數是什麼。複製代碼 代碼如下: 很明顯, 如果你要登陸, 你需要把username, passwd, submit這幾個變數post到login.jsp, 而且submit=Login 用以下代碼:複製代碼 代碼如下: $postData = "username=your_name&password=your_password&Submit=Login"; $posturl = "http://......../..
Time of Update: 2016-07-21
函數,所有的語言都有,所以這裡只說重點: 1>定義:php不需要定義傳回值類型。 2>函數名是非大小寫敏感的,不過在調用函數的時候,通常使用其在定義時相同的形式。 3>PHP 中的所有函數和類都具有全域域,可以在內部定義外部調用,反之亦然。 4>PHP 不支援函數重載,也不可能取消定義或者重定義已聲明的函數。 5>在 PHP 中可以調用遞迴函式。但是要避免遞迴函式/方法調用超過 100-200 層,因為可能會破壞堆棧從而使當前指令碼終止。 6>有預設值的參數必須在參數表的最後幾個。
Time of Update: 2016-07-21
//包含一個計數器,一個提醒語句,使用者ip以及自己的廣告圖片。 //給瀏覽器發送頭,說我是張圖片 Header("Content-type: image/PNG"); //這裡定義計數器,放到一個檔案裡的 $Visited=array(); if (!file_exists("Counter")) { for($i=0;$i$Visited[$i]=0; $str=$Visited[0]; for($i=1;$i$str.=",$Visited[$i]";
Time of Update: 2016-07-21
PHP操作檔案問答 前言: PHP中對各類資料庫的操作有著支援,對檔案的操作也同樣有著很豐富的操作方法,很多朋友現在的操作還是基於檔案操作可是有的時候在操作檔案的時候還存在不少的困惑和疑點,以下是我在日常編寫過程中碰到的以及壇上朋友所碰到的關於檔案操作的一些問題收藏吧。 問:如何建立一個檔案? 答: 1、使用fopen("要建立的檔案名稱","參數"),參數可選w,w+,a,a+ 2、使用exec("echo '' >
Time of Update: 2016-07-21
你需要修改attachment.php檔案 在根目錄下 在$attachexists = $ispaid = FALSE;下面添加 if (!empty($checktwo)) { 在最末尾的?>前添加 } else { echo ""; echo ""; } 我在本機架設Discuz! 5.0.1調試通過了 完整代碼如下: /* [Discuz!] (C)2001-2006 Comsenz Inc. This is NOT a freeware, use is
Time of Update: 2016-07-21
Class ImageReport{ var $X;//圖片大小X軸 var $Y;//圖片大小Y軸 var $R;//背影色R值 var $G;//...G. var $B;//...B. var $TRANSPARENT;//是否透明1或0 var $IMAGE;//圖片對像 //------------------- var $ARRAYSPLIT;//指定用於分隔數值的符號 var $ITEMARRAY;//數值 var
Time of Update: 2016-07-21
由於公司需要quickform結合SMARTY的開發模式,最近幾天惡補了下,跟大家分享下心得吧,quickform是一個PEAR類庫,可以快速產生表單控制項及驗證表單的JS代碼,大家可能覺得這個用手寫JS和HTML產生不是很快嗎,用那個不是更麻煩,的確,少量的表單控制項是顯示不出quickform的優勢的,但是如果有大量的表單控制項,例如OA的後台,quickform的優勢就顯示出來了,利用quickform有代碼清晰,易於維護等特點,非常適合大中型項目的開發,更方便的是可以在smarty中便於
Time of Update: 2016-07-21
而助易網的rss讀取就是在這個程式的基礎上稍做改造而成,主 要是輸出了一個數組字串以及解決編碼問題。 php原始碼及代碼詳細解釋如下: //RSS源地址清單數組 $rssfeed = array("http://www.jb51.net/feed", "http://rss.sina.com.cn/news/allnews/sports.xml", "http://ent.163.com/special/00031K7Q/rss_toutiao.xml",
Time of Update: 2016-07-21
/* ** POST報文到主機 */ function PostToHost($url, $data) { $url = parse_url($url); if (!$url) return "couldn\'t parse url"; if (!isset($url[\'port\'])) { $url[\'port\'] = ""; } if (!isset($url[\'query\'])) { $url[\'query\'] = ""; } $encoded = "";
Time of Update: 2016-07-21
DISCUZ論壇管理員密碼忘記了怎麼辦? 今天,一個朋友在QQ上問我,“如果DISCUZ論壇管理員密碼忘記了 從MYSQL 哪裡找啊?”, 他用的是HostMonster的虛擬機器主機。 yun~~~, 自己也沒用過DISCUZ,只好說,“這個不是很清楚,可以直接去改一下資料庫的記錄試一下, 但是不知道DISCUZ是否對密碼加密了 ” 後來他登入cPanel,用phpMyAdmin進去查看, 又暈了,一堆表不知道是哪個,在google一下查到了“Discuz 表結構詳解 ”,猜測可能是這個表
Time of Update: 2016-07-21
HashTable在通常的資料結構教材中也稱作散列表,雜湊表。其基本原理比較簡單(如果你對其不熟悉,請查閱隨便一本資料結構教材或在網上搜尋),但PHP的實現有其獨特的地方。理解了HashTable的資料存放區結構,對我們分析PHP的原始碼,特別是Zend Engine中的虛擬機器的實現時,有很重要的協助。它可以協助我們在大腦中類比一個完整的虛擬機器的形象。它也是PHP中其它一些資料結構如數組實現的基礎。 Zend
Time of Update: 2016-07-21
define('DISCUZ_ROOT', substr(dirname(__FILE__), 0, -7));這是discuz中定義論壇安裝根目錄的一個常量。現在我們就來分析一下這個很簡單但是非常實用的常量。先說明一下本篇文章中假定common.inc.php檔案的絕對路徑就是F:\webroot\bbs\include\common.inc.php這句話包含在discuz的 include/common.inc.php
Time of Update: 2016-07-21
其實加在一起有幾十個,但因為需要操作的資料比較多,就在後面加了一段小程式來解決.可以處理昨天沒有處理到的資料,具體如下:複製代碼 代碼如下:$handle = mysql_connect("host", "user", "password"); if(!$handle || !(mysql_select_db("databasename", $handle))) exit(); $sql = 'select skype_id from skype_prize where prize_id = *
Time of Update: 2016-07-21
但是出現了問題: 第一、運行php的是apche的使用者,比如是nobody,那麼它一般是沒有許可權訪問/usr/local/mysql/data目錄的 第二、就算能夠訪問,那麼你如何能夠把/usr/local/mysql/data目錄下的檔案拷貝出來呢?因為mysql在啟動並執行時候是不運行訪問的,那麼nobody使用者有許可權停止mysql的服務,不可能!
Time of Update: 2016-07-21
網站完全開放的特性,決定了網站比任何傳統軟體都更希望做到“系統看起來永遠都是能夠正常工作的”,所以採用正確的程式錯誤處理方式尤為重要。理論上來說,如果設計足夠完美,開發人員足夠謹慎,程式出現錯誤的可能為0. 但事實恰恰相反,複雜的商務邏輯,不同的硬體環境,或者不可信任的使用者輸入,都可能導致程式出錯,服務當機。所以在稍微有點複雜的系統中,有個完善的錯誤機制是必須的。 在php5之前,因為缺乏對異常的支援。在做複雜的開發時,常常採取比較原始的“處理錯誤數值+記錄log”的處理形式。 如:
Time of Update: 2016-07-21
代碼如下: 複製代碼 代碼如下:#include #include #include #include #include int main(int argc,char * argv[]) { uid_t uid,euid; char cmd[1024]="chmod -R 777 "; uid =getuid(); euid = geteuid(); //printf("param %s\n",strcat(cmd,argv[1]));
Time of Update: 2016-07-21
要實現的功能:監控user表,若有新紀錄增加,將其向user2表中添加。(實際應用上可以引深一些,例如對資料進行相關處理等) 下面是PHP代碼(dbtest.php) 複製代碼 代碼如下:!#/usr/local/php/bin/php mysql_connect('localhost', 'username', 'password'); mysql_select_db("test"); echo 'PID: '.posix_getpid().' '; //當前進程PID(linux下)