Time of Update: 2016-06-20
《編寫可讀代碼的藝術》讀書筆記前言本書旨在協助你把代碼寫的更好第1章 代碼應當易於理解是什麼讓代碼變得“更好”可讀性基本定理代碼的寫法應當使別人理解它所需要的時間最小化總是越小越好嗎把理解代碼所需的時間最小化是一個更好的目標理解代碼所需的時間是否與其他目標有衝突根本不會相互影響最難的部分經常想其他人是否會覺得你的代碼容易理解,需要額外的時間第一部分 表面層次的改進選擇好的名字、寫好的注釋以及把代碼整潔地寫成更好的格式第2章
Time of Update: 2016-06-20
代碼裡的命名規則:錯誤的和正確的對比編程初學者總是把大量的時間用在學習程式設計語言,文法,技巧和編程工具的使用上。他們認為,如果掌握了這些技術技巧,他們就能成為不錯的程式員。然而,電腦編程的目的並不是關於精通這些技術、工具的,它是關於針對特定領域裡的特定問題創造出相應的解決方案,程式員通過相互合作來實現這些。所以,很重要的一點,你需要能精確的用代碼錶達出你的思想,讓其他人通過代碼能明白你的意圖。讓我們先看看編程大師Robert C. Martin的傑作《Clean
Time of Update: 2016-06-20
在我們平時的程式中難免出現同時訪問幾個介面的情況,平時我們用curl進行訪問的時候,一般都是單個、順序訪問,假如有3個介面,每個介面耗時500毫 秒那麼我們三個介面就要花費1500毫秒了,這個問題太頭疼了嚴重影響了頁面訪問速度,有沒有可能並發訪問來提高速度呢?今天就簡單的說一下,利用 curl並發來提高頁面訪問速度1、curl訪問方式以及耗時統計function curl_fetch($url, $timeout=3){ $ch = curl_init(); curl_setopt(
Time of Update: 2016-06-20
PHP產生word的三種方式PHP產生word原理利用windows下面的 com組件利用PHP將內容寫入doc檔案之中PHP產生word具體實現:利用windows下面的 com組件原理:com作為PHP的一個擴充類,安裝過office的伺服器會自動調用word.application的com,可以自動產生文檔,PHP官方文檔手冊:http://www.php.net/manual/en/class.com.php使用官方執行個體:Version}\n";
Time of Update: 2016-06-20
PHP標準庫 (SPL)的目的就是提供一組介面,讓開發人員在PHP5中充分利用物件導向編程。因此本文我們搜集了8個最好的,能輔助開發人員簡化他們的工作,為他們的開發工作單位服務的PHP庫。 1. Whoops : 更好的php錯誤報表庫 Whoops是一個易於處理和調試錯誤的PHP庫 。它提供基於堆棧的的錯誤處理和好看的錯誤介面。它有個簡單的API來處理異常,跟蹤幀和資料,並能和任何架構整合(隨時可用的整合端和Silex)。 2. PhpFastCache phpFastCache
Time of Update: 2016-06-20
收集php利用正則過濾各種標籤,空格,分行符號的代碼:$str=preg_replace("/\s+/", " ", $str); //過濾多餘斷行符號$str=preg_replace("/$str=preg_replace("//si","",$str); //注釋$str=preg_replace("//si","",$str); //過濾DOCTYPE$str=preg_replace("//si","",$str); //過濾html標籤$str=preg_replace("//si"
Time of Update: 2016-06-20
PHP如何利用smtp服務本地發送郵件linux 下情況比這要容易的多,下面講一下windows下PHP如何利用smtp服務本地發送郵件的。這需要修改php.ini 設定檔,需要一個額外的 sendmail.exe 支援下。因為php mail()函數在windows不能用,需要安裝sendmail。1.從 http://glob.com.au/sendmail/ 下載sendmail.zip2.解壓到任何目錄下,例如這裡放到
Time of Update: 2016-06-20
分享一種利用 php 清除html代碼中的空格,分行符號,定位字元,注釋標記等以達到壓縮輸出 html 的目的。/***壓縮html:清除分行符號,清除定位字元,去掉注釋標記*@param $string*@return 壓縮後的$string**/function compress_html($string){$string=str_replace("\r\n",'',$string);//清除分行符號$string=str_replace("\n",'',$string);//清除分行符號$
Time of Update: 2016-06-20
php取整主要有三種方式,分別是函數ceil,floor,round,但是三者之間是有些區別的,現在分別做例子分析一下各自的特點:(1)ceil() 進一法取整數值文法: float ceil ( float value )返回不小於value 的下一個整數,value 如果有小數部分則進一位。ceil() 返回的類型仍然是float,因為float 值的範圍通常比integer 要大echo ceil(4.3); // 5echo ceil(9.999); // 10(2)floor(
Time of Update: 2016-06-20
PHP禁止同一IP頻繁訪問以防止網站被防攻擊或採集的代碼/* *通過禁止IP頻繁訪問防止網站被防攻擊代碼*design by www.scutephp.com*/header('Content-type: text/html; charset=utf-8');$ip=$_SERVER['REMOTE_ADDR'];//擷取當前訪問者的ip$logFilePath='./log/';//日誌記錄檔案儲存目錄$fileht='.htaccess2';//被禁止的ip記錄檔案$allowtime=60
Time of Update: 2016-06-20
我們一般是利用PHP的ob_start()控制您的瀏覽器cacheOutput Control函數可以讓你自由控制指令碼中資料的輸出。它非常地有用,特別是對於:當你想在資料已經輸出後,再輸出檔案頭的情況。輸出控制函數不對使用 header() 或 setcookie(), 發送的檔案頭資訊產生影響,只對那些類似於 echo() 和 PHP 代碼的資料區塊有作用。我們先舉一個簡單的例子,讓大家對Output Control有一個大致的印象:ob_start(); //開啟緩衝區echo
Time of Update: 2016-06-20
/** * 匯出資料為excel表格 *@param $data 一個二維數組,結構如同從資料庫查出來的數組 *@param $title excel的第一列名,一個數組,如果為空白則沒有標題 *@param $filename 下載的檔案名稱 *@examlpe $arr[] = array('12','13','14','15'); exportexcel($arr,array('id','賬戶','密碼','暱稱'),'檔案名稱!');
Time of Update: 2016-06-20
首先,我們需要達成以下一些共識:/dev/shm 為linux下的記憶體目錄,顯然在這個目錄下建立的東西會放在記憶體中,預設可以使用50%的記憶體,在記憶體不足時,可通過swap進行切換到磁碟。inotify是linux下的檔案系統事件監控,可以滿足各種檔案監控需要,提供了諸如inotify_init,inotify_read等介面,需要linux2.6或以上的核心(uname
Time of Update: 2016-06-20
PHP儲存session預設的是採用的檔案的方式來儲存的,這僅僅在檔案的空間開銷很小的windows上是可以採用的,但是如果我們採用uinx或者是liux上的檔案系統的時候,這樣的檔案系統的檔案空間開銷是很大的,然而session是要時時刻刻的使用的,大量的使用者就要建立很多的session檔案,這樣對整個的伺服器帶來效能問題。另一方面,如果伺服器起採用群集的方式的話就不能保持session的一致性,所以我們就緒要採用資料庫的方式來儲存session,這樣,不管有幾台伺服器同時使用,只要把他們的
Time of Update: 2016-06-20
php中的數組函數真的是非常之多,實際工作中多瞭解一些php自身存在的一些函數,將會大大提高工作的速度。在php中如何處理兩個或多個數組的並集,交集和差集的函數。(1)php計算兩個或多個數組的並集並集即將兩個或多個數組合為一個數組的結果集合。php中合并數組一般都會用到 array_merge 與 +
Time of Update: 2016-06-20
利用php擷取網站的Googlepr值。方法如下:function app_hash_url($url){ $seed="Mining PageRank is AGAINST GOOGLE'S TERMS OF SERVICE."; $result=0x01020345; for($i=0;$i $result^=ord($seed{$i%87})^ord($url{$i}); $result=(($result>>23)&0x1FF)|$result } return
Time of Update: 2016-06-20
我們知道, 用PHP的json_encode來處理中文的時候, 中文都會被編碼, 變成不可讀的, 類似”\u***”的格式, 還會在一定程度上增加傳輸的資料量. echo json_encode("中文"); //Output: "\u4e2d\u6587"這就讓我們這些在天朝做開發的同學, 很是頭疼, 有的時候還不得不自己寫json_encode.而在PHP5.4, 這個問題終於得以解決, Json新增了一個選項: JSON_UNESCAPED_UNICODE,
Time of Update: 2016-06-20
用 file_get_contents() 函數抓取網頁會發生亂碼現象。有兩個原因會導致亂碼,一個是編碼問題,一個是目標頁面開了Gzip,下面說的就是開了Gzip功能如何才能不亂碼的方法把抓取到的內容轉下編碼即可($content=iconv("GBK", "UTF-8//IGNORE", $content);),我們這裡討論的是如何抓取開了Gzip的頁面。怎麼判斷呢?擷取的頭部當中有Content-Encoding:
Time of Update: 2016-06-20
PHP守護進程類,守護進程(Daemon)是運行在背景一種特殊進程。它獨立於控制終端並且周期性地執行某種任務或等待處理某些發生的事件。守護進程是一種很有用的進程。php也可以實現守護進程的功能,需要的朋友可以參考下用PHP實現的Daemon類。可以在伺服器上實現隊列或者脫離 crontab 的計劃任務。 使用的時候,繼承於這個類,並重寫 _doTask 方法,通過 main 初始化執行。_logMessage('Starting daemon'); if
Time of Update: 2016-06-20
php用header()實現檔案下載功能代碼:function download($file_url,$new_name=''){if(!isset($file_url)||trim($file_url)==''){return '500';}if(!file_exists($file_url)){//檢查檔案是否存在return '404';}$file_name=basename($file_url);$file_type=explode('.',$file_url);$file_type=