Time of Update: 2016-07-13
背景在項目中很多人喜歡在設定檔使用數組來配置各個配置項,如等級的配置level.config.php:複製代碼 代碼如下:$g_levelConfig = array( '1'=>'新手', '2'=>'進階', );因為項目不同模組經常會相互調用方法,會出現重複包含一個檔案的情況,為了避免錯誤,大家一般都會用require_one,而且經常會在函數裡包含檔案,如:複製代碼 代碼如下:
Time of Update: 2016-07-13
ThinkPHP支援多種php模板引擎,可以根據個人需要加以配置。下面我們以Smarty模板引擎為例,給大家說說具體的操作流程!首先去Smarty官網上下載一個Smarty。本站下載地址:http://www.jb51.net/codes/16086.html。接下來解壓壓縮包,會有兩個檔案夾:demo和libs。開啟libs檔案夾,複製所有內容。接下來,開啟你網站根目錄
Time of Update: 2016-07-13
ThinkPHP模板中的switch標籤用於在模板中根據不同情況輸出不同的值。ThinkPHP模板引擎支援switch判斷,可根據不同條件輸出不同的結果,使用格式如下:輸出內容1輸出內容2預設情況用法舉例如下:管理員遊客此處注意:name屬性可以使用函數以及系統變數,其屬性值為變數名稱,沒有$符號,而value值使用變數時需要帶$符號,如上面的例子所示。而value的值在使用變數方式的情況下,不再支援多個條件的同時判斷,如下面多條件判斷。多條件判斷:case 的 value
Time of Update: 2016-07-13
ThinkPHP模板的foreach標籤用於在模板中迴圈輸出資料集或者對對象進行遍曆輸出。相對於volist標籤而言,foreach標籤沒有volist標籤那麼多的功能,卻可以對對象進行遍曆輸出,而volist標籤通常是用於輸出數組。foreach標籤用法如下:用 戶 名:{$vo.username}電子郵件:{$vo.email}註冊時間:{$vo.regdate|date="Y-m-d
Time of Update: 2016-07-13
今天和大家分享一個擷取10天后的一個時間戳記的函數,程式的關鍵是,他可以不去算周六日哦。如果你有別的需求。可以改成N天的哦。反正就不算周六日。哈哈。//方法一:=-1 and $num=10) break; $days[]=date("Y-m-d",$now+$day*$i); $total +=1 ;// $total==12 ?$total+1:$total; }else { $total = $total==12
Time of Update: 2016-07-13
遠端管理外掛程式是目前廣受WordPress網站管理員歡迎的工具 + 生產力,它允許使用者同時對多個網站執行相同的操作,如更新到最新的發行版或安裝外掛程式等。但是,為了實現這些操作,用戶端外掛程式需要賦予遠端使用者很大的許可權。因此,確保管理伺服器和用戶端外掛程式之間的通訊安全且不能被攻擊者偽造就變得相當重要了。本文淺析幾款可用外掛程式,利用其弱點,攻擊者甚至可以完全危及到運行這些外掛程式的網站本身。ManageWP, InfiniteWP, and CMS
Time of Update: 2016-07-13
項目開發中遇到這樣一個問題,在同一方法中對session數組進行賦值,但是想在此方法中接著使用此session,因為我是用的if…elseif…,由於排斥作用,在if條件中給session賦值後,再調用方法進入另一個elseif條件中就擷取不到上一步的賦值,現將解決方案總結如下:PHP SESSION有一個函數:session_write_close(),這個函數的作用是:寫入session資料儲存並且結束session。手冊中對該函數的描述中說到:Session data is
Time of Update: 2016-07-13
JPEG檔案格式有兩種儲存方式。他們是Baseline JPEG和Progressive JPEG.兩種格式有相同尺寸以及映像資料,他們的副檔名也是相同的,唯一的區別是二者顯示的方式不同。Baseline
Time of Update: 2016-07-13
首先,將下載的Uploadify壓縮包解壓放到公用檔案夾內。實現代碼如下:前台html部分:上傳action執行代碼部分:public function uploadify() { $ph=M('Upload'); import('ORG.Net.UploadFile'); $upload = new UploadFile();// 執行個體化上傳類 $upload->maxSize = 93145728 ;// 設定附件上傳大小 $upload->saveRule =rand(1,9999);
Time of Update: 2016-07-13
今天在64位Red Hat Enterprise Linux AS release 4 .7上編譯PHP5.2.6出錯,mysql是使用的RPM方式安裝的,PHP編譯代碼如下:./configure --prefix=/usr/local/php --with-mysql --with-apxs2=/usr/local/apache/bin/apxs --with-openssl --with-curl --enable-xml --with-mcrypt --with-ttf
Time of Update: 2016-07-13
首先,將FileToZip.class檔案放到ThinkPHP/Extend/Library/ORG/Util/檔案夾中,FileToZip.class.php為zip下載類,其詳細代碼如下:currentdir=$curpath;//返回目前的目錄 $this->savepath=$savepath;//返回目前的目錄 } //遍曆目錄 public function scandir($filepath){ if (is_dir($filepath)){
Time of Update: 2016-07-13
很多的開源cms系統都有一鍵清除緩衝的功能,緩衝是為了減輕伺服器的壓力而產生的,但是同時有緩衝的存在也可能使一些資料不能即時更新,對此,我們就來實現一個ThinkPHP的清理緩衝的功能。代碼如下:ThinkPHP後台執行的代碼://擷取要清楚的目錄和目錄所在的絕對路徑 public function cache(){ ////前台用ajax get方式進行提交的,這裡是先判斷一下 if($_POST['type']){ //得到傳遞過來的值 $type=$_POST['type'];
Time of Update: 2016-07-13
十四、建築頁面(BatimentBuildingPage.php)現在開始解析真正的建築頁面,裡面用到的函數不少,不過都不難,我們一起來看。一開始先檢查星球的已使用空間並更新,使用函數CheckPlanetUsedFields,這個函數前面講過,實現也不難。接下來這個是我們前面重點講過的結構,就是判斷是否輸入;所以我們先跳到這段代碼的後面看,但是這裡有幾個函數是處理一些建築隊列的。1. SetNextQueueElementOnTop:我們講過,處理隊列中的下一個建築2.
Time of Update: 2016-07-13
相對於其他方法實現MySQL的讀寫分離來說,採用Thinkphp架構實現MySQL的讀寫分離簡單易用,其設定檔範例程式碼如下:'DB_TYPE'=> 'mysql','DB_DEPLOY_TYPE' => 1, //開打支援多伺服器 'DB_RW_SEPARATE'=>true,//資料庫讀寫否分離'DB_HOST'=> '192.168.11.101,192.168.11.102', 'DB_NAME'=>'test', 'DB_USER'=>'admin',
Time of Update: 2016-07-13
ThinkPHP系統常量和預定義常量匯總如下:1.系統常量:THINK_PATH // ThinkPHP系統目錄:APP_PATH // 當前項目目錄APP_NAME // 當前項目名稱MODULE_NAME //當前模組名稱ACTION_NAME // 當前操作名稱TMPL_PATH // 項目模版目錄LIB_PATH // 項目類庫目錄CACHE_PATH // 項目模版緩衝目錄CONFIG_PATH //項目設定檔目錄LOG_PATH //
Time of Update: 2016-07-13
對很多使用ThinkPHP架構的人來說,使用自動內建的增刪改查基類,在分頁的時候要保持結果頁面的搜尋狀態,但是使用thinkphp手冊中的方案卻無法奏效。ThinkPHP手冊中的解決方案是://分頁跳轉的時候保證查詢條件foreach($map as $key=>$val) { $Page->parameter .=
Time of Update: 2016-07-13
ThinkPHP實現串連多個資料的時候,如果資料庫在同一個伺服器裡的話只需要這樣定義模型:class MembersModel extends Model{protected $trueTableName = 'members.members';
Time of Update: 2016-07-13
下面附上import的幾個用法介紹1、用法一import('@.Test.Translate');@,表示項目根目錄。假定根目錄是:App/匯入類庫的路徑是:App/Lib/Test/Translate.class.php結論:import('@')是相對於項目目錄的Lib目錄而言2、用法二import('Think.Test.Translate');Think,表示系統根目錄。既是:./ThinkPHP/匯入類庫的路徑是:./ThinkPHP/Lib/Test/Translate.class.
Time of Update: 2016-07-13
ThinkPHP架構的模板中調用session資料的方法有很多,可以很據情況靈活運用,常見的有以下幾類:1.在模板中直接調用{$Think.session}擷取session;2.在標籤直接編寫php代碼來調用$_SESSION資料;3.在模板中寫,然後在裡面直接編寫php代碼來調用$_SESSION;4.在Action中將$_SESSION變數通過assign()方法賦值給模板;5.在自訂函數庫中,建立一個函數用來返回$_SESSION變數,然後在模板檔案中使用{$變數命 |
Time of Update: 2016-07-13
最近在開發過程中需要擷取某個類方法的參數數量、名稱及參數順序,好根據參數的名稱來從$_GET裡取值。如方法原型為test($uid,$score), 那麼我就知道需要需要從$_GET取複製代碼 代碼如下:$uid = $_GET['uid'];$score = $_GET['score'];然後調用方法$obj->test($uid,$score)當然前提是約定好了參數名稱和get方法傳值變數名一致。採用PHP的反射API,獲得函數參數名稱和參數預設值的方法如下:複製代碼 代碼如下:class