Time of Update: 2016-07-13
去除一個數組中的重複值,可以使用foreach方法,也可以使用array_unique方法,下面的代碼兩種方法都使用了。";$intStart1 = time();$arrRS = array_unique($arrT);$intEnd2 = time();$intTime2 = $intEnd2-$intStart1;echo "With array_unique function,Spend time:($intTime2)";echo "";print_r($arrT);print_r($
Time of Update: 2016-07-13
讓我們以Hello World為例,首先建立一個簡單的控制器。使用你的文字編輯器,建立一個叫做 tools.php 的檔案,並且輸入如下代碼:複製代碼 代碼如下:class Tools extends CI_Controller { public function message($to = 'World') { echo "Hello {$to}!".PHP_EOL; }}?>然後將這個檔案儲存到你的 application/controllers/
Time of Update: 2016-07-13
由於工作原因在thinkPHP的create()方法上遇到了問題,所以跟蹤了create(),從而進一步探究了create()方法。原來create()方法原來有兩個參數,第一個參數就是眾所周知的資料參數,第二個是隱藏的$type參數,那麼這個參數用來控制什麼的呢?// 狀態$type =
Time of Update: 2016-07-13
很多程式員在使用codeigniter CLI下執行一個大批量資料匯入的問題時,會一直出現記憶體過高的情況,下面對此分析器原因及解決辦法。CI db會將所有的查詢sql和和sql執行時間儲存下來,對於類似百萬級大資料量的匯入問題來說,其執行的sql記錄都會被儲存在內容中,這就佔用了大量的內容直至指令碼結束。解決辦法:當你執行大數量的db操作時,記得設定:複製代碼 代碼如下:$this->db->save_queries = FALSE;http://www.bkjia.com/PHPjc/825
Time of Update: 2016-07-13
以往在ThinkPHP3.1版本之前,如果需要設定自動驗證或者自動完成,一般來說必須定義在模型中,或者通過setProperty方法動態設定屬性來完成,這樣做的缺點是不太方便動態改變和調整。ThinkPHP3.1版本在模型類中增加auto和validate兩個連貫操作,用於動態設定自動完成和自動驗證規則,現在可以在Action中使用:$validate = array( array('verify','require','驗證碼必須!'),
Time of Update: 2016-07-13
在當今眾多的MVC架構中,ThinkPHP是一個快速、簡單的基於MVC和物件導向的輕量級PHP開發架構,其遵循Apache2開源協議發布,自從誕生以來一直秉承簡潔實用的設計原則,在保持出色的效能和至簡的代碼的同時,尤其注重開發體驗及易用性,並且擁有眾多的原創功能和特性,為WEB應用開發提供了強有力的支援。是眾多PHP開發人員的首選。本文就ThinkPHP3.1基礎知識做一簡述。1.目錄結構ThinkPHP最新版本可以在官方網站(http://thinkphp.cn/down/framework.
Time of Update: 2016-07-13
很多程式員在CI中使用session的時候,開啟自動載入session之後網站就報錯了,具體錯誤資訊如下:In order to use the Session class you are required to set an encryption key 下面一起來看問題解決辦法。提示資訊說明:如果想用session類的話就必須要設定一個加密的密鑰!那就給設定一個吧,畢竟也是出於安全考慮。開啟application/config/config.php找到Encryption Key複製代碼
Time of Update: 2016-07-13
用了兩天php的Snoopy這個類,發現很好用。擷取請求網頁裡面的所有連結,直接使用fetchlinks就可以,擷取所有文本資訊使用fetchtext(其內部還是使用Regex在進行處理),還有其它較多的功能,如類比提交表單等。使用方法:先下載Snoopy類,下載地址:http://sourceforge.net/projects/snoopy/先執行個體化一個對象,然後調用相應的方法即可擷取抓取的網頁資訊複製代碼 代碼如下:include 'snoopy/Snoopy.class.php';
Time of Update: 2016-07-13
每個網址用6個字元代替,(6^32) 最多可以擁有1,073,741,824個短網址。當然,你還可以記錄更詳細的資訊,如訪問記錄,建立時間等。如果真不夠用了,還可以刪掉很久不用的。複製代碼 代碼如下:function shorturl($input) { $base32 = array ( 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's',
Time of Update: 2016-07-13
今天寫了一個php的AES加密類。適用於Yii的擴充。如果不用在Yii架構中,把代碼中Yii::app()->params['encryptKey'] 換成你對應的預設key就可以了。類代碼:params['encryptKey'] : $key, 0, mcrypt_enc_get_key_size($module));/* Create the IV and determine the keysize length, use MCRYPT_RAND * on Windows instead
Time of Update: 2016-07-13
擷取分類下面的所有子類方法:static function getMenuTree($arrCat, $parent_id = 0, $level = 0,$all=True) { static $arrTree; //使用static代替global if(!$all) $arrTree =''; if( empty($arrCat)) return FALSE; $level++; if($level == 1) $arrTree[] = $parent_id; foreach(
Time of Update: 2016-07-13
其實對神盾解密並沒有那麼感興趣,只是看到了作者把工具又加密了,感覺不爽。研究了一下,其實解密沒那麼複雜。利用php_apd擴充很輕鬆地就這把這搞定了。只有四句代碼。該工具的核心代碼:decryption.php136 ? chr($c/2) : $str[$i-1] ) : ""; } } return base64_decode($ret); } $err = '解碼遇到錯誤,請聯絡教主處理該檔案!'; $str =
Time of Update: 2016-07-13
很多朋友都遇到了Destoon供求欄目下WangWang無法正常顯示,點擊提醒“會員名不存在”的情況,原因是WangWang更改了線上WangWang的代碼,但是Destoon沒有及時更新。這時候只需要修改api/im.func.php中第二段WangWang聯絡的那段:即將function im_ali($id, $style = 0) 修改成下面的方法即可。function im_ali($id, $style = 0) {return $id ?
Time of Update: 2016-07-13
長期以來ThinkPHP都是需要通過debug_start、debug_end方法甚至Debug類才能完成那些調試的功能,而在ThinkPHP3.1版本中,這些複雜的功能被一個簡單的G方法取代了,這不可不謂是一次華麗升級。G方法的作用包括標記位置和區間統計兩個功能,下面來看下具體用法:1.標記位置G方法的第一個用法就是標記位置,例如:G('begin');表示把當前位置標記為begin標籤,並且記錄當前位置的執行時間,如果環境支援的話,還能記錄記憶體佔用情況。可以在任何位置調用G方法標記。2.已
Time of Update: 2016-07-13
為增強destoon的安全性,需要進行必要的安全設定,本文以Rewrite規則設定來增加網站安全性為例說明如下:規則一:屏蔽非php擴充的動態檔案,例如asp、aspx等,可以阻止asp、aspx等尾碼的後門程式運行RewriteRule ^(.*)\.(asp|aspx|asa|asax|dll|jsp|cgi|fcgi|pl)(.*)$
Time of Update: 2016-07-13
模板繼承是ThinkPHP3.1.2版本添加的一項更加靈活的模板布局方式,模板繼承不同於模板布局,甚至來說,應該在模板布局的上層。模板繼承其實並不難理解,就好比類的繼承一樣,模板也可以定義一個基礎模板(或者是布局),並且其中定義相關的區塊(block),然後繼承(extend)該基礎模板的子模板中就可以對基礎模板中定義的區塊進行重載。因此,模板繼承的優勢其實是設計基礎模板中的區塊(block)和子模板中替換這些區塊。每個區塊由標籤組成,並且不支援block標籤的嵌套。下面就是基礎模板中的一個典型
Time of Update: 2016-07-13
1、首先登入UCenter管理中心 添加應用 2、填寫完畢後,點提交,將頁面滾動至底部 複製其中的Ucenter配置資訊至記事本 注意圖中的資料表首碼和API地址 80%以上的整合失敗是因為這兩個參數填寫錯誤導致的3、進入Destoon管理後台 -> 會員管理 -> 模組設定 -> 會員整合 填寫相關參數 提交即可整合成功
Time of Update: 2016-07-13
ThinkPHP3.1版對AJAX的支援更加完善了,具體表現在:1.判斷AJAX方式改進現在可以直接使用常量IS_AJAX來判斷是否AJAX方式請求,用來取代之前的Action類的isAjax方法,優勢是可以在任何代碼裡面進行判斷。而Action類的error和success方法內建就支援對AJAX自動判斷支援。2.ajaxReturn方法完善原來的ajaxReturn方法只能返回固定結構的資料,包括data、status和info索引資訊,如果需要擴充額外的返回資料資訊,只能通過ajaxAss
Time of Update: 2016-07-13
destoon中預設的首頁公告欄調用方法如下:複製代碼 代碼如下:$today_endtime-86400&areaid=$cityid&pagesize=3&datetype=2&order=listorder desc,addtime desc&target=_blank”)}–>這個標籤引用的模板檔案是template/default/tag/list.htm檔案。當我們不想用這個list.htm檔案,而想要用到自己寫的樣式和模板,就可以複製一份這個檔案,把檔案名稱改為例如
Time of Update: 2016-07-13
使用 $this 可以調用當前模組內的方法,但是很多情況下經常會在當前模組中調用其他模組的方法。ThinkPHP內建了A方法與R方法這兩個特殊的大寫字母方法來處理跨模組調用的問題。目前Index模組內有index操作User模組有showName操作User模組及showName操作具體代碼如下:我們將在 Index 模組的 index 操作中調用上面的 showName 操作。通過 A 方法跨模組叫用作業A 方法用於執行個體化其他模組(當於 new