Time of Update: 2016-07-29
本文執行個體講述了使用ltrace工具跟蹤PHP庫函數調用的方法。分享給大家供大家參考,具體如下:可能大家已經很熟悉使用strace來跟蹤系統調用,今天介紹一個跟蹤庫函數的利器ltrace比如我有這麼一段PHP代碼test.php:ltrace -c /usr/local/php/bin/php test.php (-c表示匯總)會看到輸出如下:% time seconds usecs/call calls function------ ----------- -----------
Time of Update: 2016-07-29
laravel中的migation類似一種資料可的版本控制. 1. 建立資料庫 (1)根據資料庫php檔案建立資料庫php artisan migrate(2)如果發現建立錯誤,可以撤銷php artisan migrate:rollback(3)在lar中建立一個用於建立資料庫的php檔案php artisan make:migration create_articles_table --create=articles //其中articles指明表名(4)添加欄位php artisan
Time of Update: 2016-07-29
在大部分程式設計語言中,return關鍵字可以將函數的執行結果返回,PHP中return的用法也大同小異,對初學者來說,掌握PHP中return的用法也是學習PHP的一個開始。首先,它的意思就是返回;return()是語言結構而不是函數,僅在參數包含運算式時才需要用括弧將其括起來。當返回一個變數時通常不用括弧,這樣可以降低PHP的負擔。基本用法:a)、return expression // 返回一個運算式結果b)、return(expr) // 函數運算式c)、return //
Time of Update: 2016-07-29
在使用php處理一些映像時,有時會出現諸如這樣的錯誤:Call to undefined function imagecreate()這是由於沒有安裝或是沒有開啟php的gd庫導致的問題。解決方案:一、在linux系統(這裡用的是Ubuntu系統)下首先在終端輸入下列命令:sudo apt-get install php5-gd這樣就已經安裝完php的gd庫了。如果使用的是apache伺服器,這時還需重啟下伺服器:sudo service apache2
Time of Update: 2016-07-29
1、如果能將類的方法定義成static,就盡量定義成static,它的速度會提升將近4倍。2、$row[’id’] 的速度是$row[id]的7倍。3、echo 比 print 快,並且使用echo的多重參數(譯註:指用逗號而不是句點)代替字串串連,比如echo $str1,$str2。4、在執行for迴圈之前確定最大迴圈數,不要每迴圈一次都計算最大值,最好運用foreach代替。5、登出那些不用的變數尤其是大數組,以便釋放記憶體。6、盡量避免使用__get,__set,
Time of Update: 2016-07-29
PHP目前在Web開發領域已經被廣泛應用,PHP不僅可以產生HTML頁面,而且可以建立和操作二進位形式的資料,像,檔案等。其中使用PHP操作圖形可以通過GD2函數庫來實現。利用GD2函數庫可以在頁面中繪製各種映像,統計圖,如果與Ajax技術結合還可以製作出各種強大的動態圖表。GD2庫是一個開放的、動態建立映像的原始碼公開的函數庫。目前,GD2庫支援GIF、PNG、JPEG、WBMP和XBM等多種映像格式。
Time of Update: 2016-07-29
不依賴系統,以及不依賴yii事物機制,則考慮人為觸發。觸發可以寫在總體的公用頁面上,但是考慮到對資料庫以及WWW伺服器的壓力問題,程式的延遲問題,需要對執行函數進行一些最佳化。首先,我們考慮對資料庫的壓力,每次點擊頁面,我們都讓他觸發監聽系統,監聽系統首先要判斷此時是否需要更新我們的任務隊列(任務隊列我把他存在了快取檔案裡),如果不需要更新,則只需要對快取檔案裡的執行隊列進行時間正排序,對已經逾時的隊列進行執行即可。但我們要考慮什麼時候更新隊列檔案,以及如何更新,這樣才能減輕系統壓力。我的思路是
Time of Update: 2016-07-29
通常變數通過下面這樣的語句來命名 : 複製代碼 代碼如下:$a = 'hello'; ?> 可變變數名指的是使用一個變數的值作為這個變數的名稱。在上面的例子中,通過使用兩個$符號,你可以把hello設定成一個變數的名稱,就像下面那樣。 複製代碼 代碼如下:$$a = 'world'; ?> 通過上面的兩個語句,有兩個變數被定義:變數$a,裝的內容是”hello” 以及變數$hello,裝的內容是 “world”。 於是,下面的語言: 複製代碼 代碼如下:echo "$a ${$a}"; ?>
Time of Update: 2016-07-29
目前只實現了三個功能:1:圖片縮放,2:圖片裁剪,3:加圖片浮水印 在執行個體化中,通過給第二個參數傳不同的值,從而實現不同的功能 複製代碼 代碼如下:include "image.class.php"; $image=new image("2.png", 1, "300", "500", "5.png"); //使用圖片縮放功能 $image=new image("2.png", 2, "0,0", "50,50", "5.png"); //使用圖片裁剪功能 $image=new image(
Time of Update: 2016-07-29
先看一個三元運算式子: 複製代碼 代碼如下:$a=1;$b=2;$c=3;$d=4; echo $a?> 一般按照其它語言(比如C或Java)的規則, 以上代碼的運算邏輯是: 複製代碼 代碼如下:$a true => 'xx' ==> 結束 那麼最後得到的結果就是'xx', 而再往後的運算都會被無視. 然而令人吃驚的是, php運算以上代碼最後得到的結果卻是'zz'...我擦, 什麼情況, 這不坑爹麼... 老規矩, 只好求教Google醬,
Time of Update: 2016-07-29
1. If a method c++an be static, declare it static. Speed improvement is by a factor of 4. 如果一個方法可靜態化,就對它做靜態聲明。速率可提升至4倍。 2. echo is faster than print. echo 比 print 快。 3. Use echo's multiple parameters instead of string concatenation.
Time of Update: 2016-07-29
直接上代碼吧! 複製代碼 代碼如下:/* * 插入排序(一維數組) * 每次將一個待排序的資料元素,插入到前面已經排好序的數列中的適當的位置,使數列依然有序;直到待排序的資料元素全部插入完成為止。 */ function insertSort($arr){ if(!is_array($arr) || count($arr)==0){ return $arr; } $count = count($arr); for($i=1; $iif(isset($arr[$i])){ $tmp =
Time of Update: 2016-07-29
Expires是Web伺服器響應訊息頭欄位,在響應http請求時告訴瀏覽器在到期時間前瀏覽器可以直接從瀏覽器緩衝取資料,而無需再次請求。Cache-Control與Expires的作用一致,都是指明當前資源的有效期間,控制瀏覽器是否直接從瀏覽器緩衝取資料還是重新發請求到伺服器取資料。只不過Cache-Control的選擇更多,設定更細緻,如果同時設定的話,其優先順序高於Expires。1、Http協議的cache-control的常見取值及其組合釋義:no-cache:
Time of Update: 2016-07-29
使用PHP擷取系統時間,發現時間不對,是因為PHP預設的時區是UTC,應該將其時區設定為北京時間。方法一:修改php.ini檔案 開啟php.ini檔案:滑鼠左鍵點擊右下角的WampServer表徵圖——PHP——php.ini, 尋找date.timezone,找到date.timezone =”UTC”, 將其改為date.timezone =”PRC”,若date.timezone左邊有分號,要將該分號去掉。spanclass="cur_time">echo"目前時間:" . date("
Time of Update: 2016-07-29
複製代碼 代碼如下:/* *功能:對URL進行編碼 *參數說明:$web_url 網站URL,不包含"http://",例如jb51.net */ function HashURL($url){ $SEED = "Mining PageRank is AGAINST GOOGLE'S TERMS OF SERVICE. Yes, I'm talking to you, scammer."; $Result = 0x01020345; for ($i=0; $i{ $Result ^= ord($
Time of Update: 2016-07-29
複製代碼 代碼如下:function array_remove_key($array, $keys) { $num = count($keys); $num_last = $num - 1; $this_array_0 = &$array; $last_key = $keys[$num_last]; for ($i = 0; $i { $this_key = $keys[$i]; $this_var_name = 'this_array_' . $i; $next_var_name =
Time of Update: 2016-07-29
下面一段代碼是建立相應資料庫的sql代碼:複製代碼 代碼如下: ////////////// //////無限分類的資料庫設計及範例 ////////////// mysql> create database db_kind; Query OK, 1 row affected mysql> use db_kind; Database changed mysql> create table tb_kind( -> id int not null
Time of Update: 2016-07-29
複製代碼 代碼如下:/** * 擷取百度的熱詞 * @user 小傑 * @from http://www.isharey.com/?p=354 * @return array 返回百度的熱詞資料(數組返回) */ function getBaiduHotKeyWord() { $templateRss = file_get_contents('http://top.baidu.com/rss_xml.php?p=top10'); If (preg_match('/(.*)/is',
Time of Update: 2016-07-29
一、安裝Zend studio 12安裝過程比較簡單,就不簡述。二、修改PHP.ini檔案
Time of Update: 2016-07-29
複製代碼 代碼如下:/*函數array_map()函數:多數組回呼函數---將回呼函數作用到給定數組的單元上 * 1、文法:array array_map ( callback callback, array arr1 [, array ...] ) * 2、描述:返回一個數組,該數組包含了 arr1 中的所有單元經過 callback 作用過之後的 * 單元。callback 接受的參數數目應該和傳遞給 array_map() 函數的數組數目一致。 * 3、注意事項: *