Time of Update: 2016-06-20
php實現機率性隨機抽獎代碼使用php根據獎品的權重來實現機率性PHP隨機抽獎的代碼1、初始資料:權重越大,抽取的幾率越高[獎品1, 權重 5], [ 獎品2, 權重6], [ 獎品3, 權重 7], [ 獎品4, 權重2]2、處理步驟:1)N = 5 + 6 + 7 + 2 = 202)然後取1-N的隨機數M3)界定各 獎品的權重範圍值 獎品 1 : 1-5 ; 獎品2 : 6-11; 獎品3: 12-18; 獎品4: 19-204) 如果M在某個獎品的權重範圍值內,標識這個獎品被抽取到id
Time of Update: 2016-06-20
最近因項目需要,需要開發一個模組,用PHP把系統中的一些資料匯出成Excel,修改後再導回系統。就趁機對這個研究了一番,下面進行一些總結。基本上匯出的檔案分為兩種:1:類Excel格式,這個其實不是傳統意義上的Excel檔案,只是因為Excel的相容能力強,能夠正確開啟而已。修改這種檔案後再儲存,通常會提示你是否要轉換成Excel檔案。優點:簡單。缺點:難以產生格式,如果用來匯入需要自己分別編寫相應的程式。2:Excel格式,與類Excel相對應,這種方法產生的檔案更接近於真正的Excel格式。
Time of Update: 2016-06-20
PHP統計目錄中檔案以及目錄中目錄大小的方法,涉及PHP針對檔案及目錄的遍曆,讀取及運算的相關技巧本文執行個體講述了PHP統計目錄中檔案以及目錄中目錄大小的方法。分享給大家供大家參考,具體如下:"; } else{ echo "".$fileName."=====".date("Y-m-d H:i:s",filectime($file))."====".filetype($file)."====".toSize(filesize($file)).""; } } }
Time of Update: 2016-06-20
在PHP包管理上面,PHP發展的很緩慢,導致的結果就是很少發現程式員會使用像PEAR這樣的工具。相反,大多數開發人員會選擇他們自己喜歡的架構來處理代碼,比如DB互動、ORIM’S、Oauth、Amazon S3整合等。缺點就是在轉換架構的時候(或者根本不需要返回使用架構)就感覺像在做噩夢,因為涉及到使用新工具,你必須重新學習裡面的一切東西,而這並不簡單。OK,Composer來協助你解決這些問題。介紹
Time of Update: 2016-06-20
最近項目中需要用到圖片的一些特殊處理——比如:根據使用者請求產生任意尺寸的映像。經過一些資料的尋找,最終選用了php_imagick。利用ImageMagick,你可以根據web應用程式的需要動態產生圖片, 還可以對一個(或一組)圖片進行改變大小、旋轉、銳利化、減色或增加特效等操作,並將操作的結果以相同格式或其它格式儲存。本節我們就來介紹一下如何在windows下安裝php_imagick拓展。1. 下載 Download
Time of Update: 2016-06-20
如今的PHP架構層出不窮,我不是這方面的專家,甚至不能熟練地使用其中的一種,所以我不做推薦,也不想討論哪些算是架構哪些不算架構。這裡我要討論的是如何才能更快地開始使用某個新的架構。首先你當然必須選擇一個架構,比如ZendFramework、Cake、Symfony、atk、Yii、CodeIgniter、Solar、PRADO、ThinkPHP、SAF等。選擇哪個呢?有些架構提供了非常好“step-by-step”入門教程,另一些則比較難入門了。我很喜歡這篇文章:《學習一種新的程式設計語言所需做
Time of Update: 2016-06-20
PHPRegex中一些需要轉義的字元小結如下:一、 $特殊字元 注釋 $ 匹配輸入字串結尾的位置。 若要匹配 $ 字元本身,請使用 \$。 二、 ( ) ( ) 標記子運算式的開始和結束。可以捕獲子運算式以供以後使用。 若要匹配這兩個字元,請使用 \( 和 \)。 三、 ** 零次或多次匹配前面的字元或子運算式。 若要匹配 * 字元,請使用 \*。 四、 ++ 一次或多次匹配前面的字元或子運算式。 若要匹配 + 字元,請使用 \+。 五、 .. 匹配除分行符號 \n 之外的任何單個字元。
Time of Update: 2016-06-20
很多PHP程式員調試使用echo、print_r()、var_dump()、printf()等,雖然對於有較豐富開發經驗的程式員來說這些也已經足夠了,他們往往可以在程式執行的過程中,通過輸出特定變數的值可以判斷程式執行是否正確,甚至效率高低也可以看出來(當然可能還需要使用一些時間函數)。那麼我們為什麼還需要一個專門的偵錯工具來監控我們的程式運行呢?在我們平時的php開發中,一個大的項目經過長時間的積累以後你會發現效能越來越慢,而效能到底消耗在了什麼地方,常常是一個令人頭疼的問題,function
Time of Update: 2016-06-20
有很多對於PHP的抱怨,甚至這些抱怨也出自很多聰明的人。當Jeff
Time of Update: 2016-06-20
php 緩衝數組形式的變數,實際上就是將 php 將數組寫入到一個文字檔或者尾碼名為 .php 儲存起來,使用的時候直接調用這個檔案。那麼如何使用 php 將數組儲存為文字格式設定的檔案呢?下面分享三種方法實現將 php 數組寫入到檔案以緩衝數組。(1)利用 serialize 將數組序列化儲存為文字檔,調用時候再使用 unserialize 還原$file='./cache/phone.php';$array=array('color'=> array('blue','red','green'
Time of Update: 2016-06-20
檔案下載源碼: 檔案編碼問題解決方案:如果檔案名稱是中文,php的函數不能識別中文檔案名稱,一般如果程式編碼為utf-8,php的函數比較古老,只能識別gb2312編碼的中文,所以把中文用iconv(“原編碼”,”要轉成的編碼”,”要轉碼的字串”)函數可以轉碼。比如,把一個字串從utf-8轉碼為gb2312$file_name=iconv(“utf-8”,”gb2312”,”$file_name”);
Time of Update: 2016-06-20
本文執行個體講述了PHP中file_get_contents進階用法,分享給大家供大家參考。具體分析如下:首先解決file_get_contents的逾時問題在逾時返回錯誤後就象js中的settimeout那樣進行一次嘗試,錯誤超過3次或者5次後就確認為無法連線伺服器而徹底放棄。這裡就簡單介紹兩種解決方案:一、增加逾時的時間限制注意:set_time_limit只是設定你的PHP程式的逾時時間,而不是file_get_contents函數讀取URL的逾時時間。我一開始以為set_time_lim
Time of Update: 2016-06-20
在幾種情況下,我們會需要進行PHP擴充開發:1、PHP本身無法訪問的資源或是調用,2、通過擴充的方式可以實現處於效能和效率的考慮,3、用C實現會更好4、處於商業或代碼保護考慮,將代碼封裝起來5、為了更深入的瞭解PHP,從這裡入門假設有這麼一個擴充,提供一個叫ccvita_string的函數。下面詳細介紹怎麼樣製作這樣一個PHP擴充:第一步、產生代碼PHP為了擴充開發的方便,提供了一個類似代碼產生器的工具ext_skel,具體可以參見說明。首先我們建立一個檔案scutephp.skel,它的內容為
Time of Update: 2016-06-20
學好 PHP,你應該知道這些首先你應該是在用 PHP 5.3 以上的版本,如果 PHP 版本在這之下,是時候該升級了。我建議如果有條件,最好使用最新的版本。你應該看過 PHP The Right Way,這篇文章包含了很多內容,而且還能再擴充開。大部分的名詞和概念你都需要瞭解。 1. PSR The idea behind the group is for project representatives to talk about the commonalities between our
Time of Update: 2016-06-20
Discuz經典的使用者資訊密碼編譯演算法/** *使用者資訊加密解密函數 * *待加密內容用/t分割 *@return String 加密或解密字串 *@param String $string 待加密或解密字串 *@param String $operation 操作類型定義 DECODE=解密 ENDODE=加密 *@param String $key 加密運算元 */function authcode($string, $operation, $key = '') {/**
Time of Update: 2016-06-20
最近在網上看了很多的PHP數組分頁的文章,覺得有些不錯!所以拿來分享一下,學習學習。我們的資料未必都是儲存在資料庫中,很多時候是用數組來組織的。所以擷取數組資料,進行分頁是比較常見的編程要求。分頁的原理很簡單,就是按分頁數擷取某個範圍的資料而已,PHP給我們提供了一個很便利的函數:array_slice()。array_slice() 函數在數組中根據條件取出一段值,並返回。例如:public function books($pagenum = 1){
Time of Update: 2016-06-20
PHP去除數組裡面的空值,我們可以用PHP內建函數array_filter();也可以利用array_diff()函數array_diff — 計算數組的差集說明arrayarray_diff( array $array1, array $array2 [, array $ ...] )array_diff() 返回一個數組,該數組包括了所有在 array1 中但是不在任何其它參數數組中的值。注意鍵名保留不變。去空值的例子:$array = array("a","b","",null,"c");
Time of Update: 2016-06-20
一般來說, 我們可以通過直接讓URL指向一個位於Document Root下面的檔案, 來引導使用者下載檔案.但是, 這樣做, 就沒辦法做一些統計, 許可權檢查, 等等的工作. 於是, 很多時候, 我們採用讓PHP來做轉寄, 為使用者提供檔案下載.但是這個有一個問題, 就是如果檔案是中文名的話, 有的使用者可能下載後的檔案名稱是亂碼.於是, 我們做一下修改(參考: :恩, 現在看起來好多了, 不過還有一個問題, 那就是readfile, 雖然PHP的readfile嘗試實現的盡量高效,
Time of Update: 2016-06-20
網路相簿圖片防盜鏈破解程式 - PHP版 這個防盜鏈破解版可以完美破解當下比較流行的: 百度相簿,網易相簿,360我喜歡等網站圖片. 還可以實現簡單的圖片防盜鏈. 因為這個類是先進行擷取遠程圖片, 然後再把圖片發送到用戶端,所以,算是進行了兩次流量的傳送.因此,會浪費空間流量,接下來,會開發緩衝功能,這樣可以實現節約流量!referer = $referer; // parse the http link $this->parseLink($link);
Time of Update: 2016-06-20
在php服務端當一張頁面調用了session_start()函數之後,這張頁面做了3件事情1,在伺服器端建立了一個sess_###############的文字檔(c:\window\tem\目錄下面)2,刪除一起失效的sess_##########文字檔(此處就不在講了)3,把http頭 和