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
1. sys_getloadavg()sys_getloadavt()可以獲得系 統負載情況。該函數返回一個包含三個元素的數組,每個元素分別代表系統再過去的1、5和15分鐘內的平均負載。與其讓伺服器因負 載過高而宕掉,不如在系統負載很高時主動die掉一個指令碼,sys_getloadavg()就是用來幫你實現這個功能的。 不過很遺憾,該函數在windows下無效。2. pack()Pack() 能將md5()返回的32位16進位字串轉換為16位的二進位字串,可以節省儲存空間。3.
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
做財務的人遇到過這麼一個問題,比如13,126.8元,在發票或者其他記賬業務中,一般要使用大寫進行拼讀成“壹萬三仟壹佰貳拾陸元捌角整”。這不,也貼上我原來在做學車網的一個php函數,供大家參考吧。複製代碼 代碼如下:/** * 人民幣小寫轉大寫 * * @param string $number 數值 * @param string $int_unit 幣種單位,預設"元",有的需求可能為"圓" * @param bool $is_round 是否對小數進行四捨五入 *
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
十六、造船和防禦(FleetBuildingPage.php與DefensesBuildingPage.php頁面)先說造船廠頁面,其實這個頁面中並沒有真正的造船,只是把要造的船和數量儲存到資料庫中;產生船艦的代碼在另外一個函數裡面。下面我們開始分析這個頁面,並且也按照前面的思路,先講解構造頁面的代碼。首先判斷本星球是否已有造船廠,沒有當然要提示。下面使用迴圈語句,構造出每種船艦的建造頁面,這段代碼我覺得不需要再詳細講解了。接下來是要顯示正在製造的船艦列表,要指令碼動態顯示,實際上是假像;即使顯
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
首先,將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
在一些微博網站上我們經常可以看到這樣的應用,微博內容列表上並沒有使用分頁條,而是一次載入一定數量的記錄顯示在列表頁,當使用者瀏覽到列表頁底部時,可以通過單擊“查看更多”來載入更多記錄。本文將結合jQuery和PHP給大家講述如何?這種功能。Ajax載入的基本原理:當頁面載入時,jQuery向後台請求資料,PHP通過查詢資料庫將最新的幾條記錄顯示在列表頁,在列表頁的底部有個“查看更多”的連結,通過觸發該連結,向服務端發送Ajax請求,後台PHP程式得到請求參數,並作出響應,擷取資料庫相應的記錄並以
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
ThinkPHP實現串連多個資料的時候,如果資料庫在同一個伺服器裡的話只需要這樣定義模型:class MembersModel extends Model{protected $trueTableName = 'members.members';
Time of Update: 2016-07-13
隨著科技的進步,二維碼應用領域越來越廣泛,本站之前已有文章介紹通過使用jQuery外掛程式來產生二維碼,今天我給大家分享下如何使用PHP產生二維碼,以及如何產生中間帶LOGO映像的二維碼。利用Google API產生二維碼Google提供了較為完善的二維碼產生介面,調用API介面很簡單,以下是調用代碼:複製代碼 代碼如下:$urlToEncode="http://www.jb51.net"; generateQRfromGoogle($urlToEncode); /** * google
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
Time of Update: 2016-07-13
前言遇到一道面試題,題目大概意思如下:使用兩個普通棧實現一個特殊棧,使得pop、push、min三個函數的都是複雜度為O(1)的操作,min函數是獲得當前棧的最小值。初步想法1.要實現min函數為(1)操作,當時第一想法是事先需要算好當前最小值,於是會想到用一個值來儲存當前棧中最小值元素,然後push和pop操作的時候維護這個值。這樣min,push都是O(1)了,但pop可不是,如果當前彈出的是最小值,需要從新尋找當前元素的最小值,這個就不是o(1)了。2.而且上面方法沒有用到另外一個棧,於是
Time of Update: 2016-07-13
我們首先假設資料庫中採用的編碼為UTF-8這時我們在PHP頁面中應當首先添加複製代碼 代碼如下:此處charset的值utf-8必須與檔案儲存時的編碼類別型一樣之後在資料庫查詢前添加複製代碼 代碼如下:mysql_query("set names 'utf8'");該行語句的編碼值也應當與上面的編碼值一樣。總而言之,網頁儲存的編碼類別型、網頁的charset=utf-8、和執行的set names utf8語句的編碼方式應當一致下面引用一篇不錯的分析MySQL的“SET NAMES
Time of Update: 2016-07-13
在寫php程式中有時會出現這樣的警告:PHP Warning: date(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are