Time of Update: 2016-11-23
PHP 5 添加了類似於其它語言的異常處理模組。在 PHP 代碼中所產生的異常可被 throw 語句拋出並被 catch 語句捕獲。需要進行異常處理的代碼都必須放入 try 代碼塊內,以便捕獲可能存在的異常。每一個 try 至少要有一個與之對應的 catch。使用多個 catch 可以捕獲不同的類所產生的異常。當 try 代碼塊不再拋出異常或者找不到 catch 能匹配所拋出的異常時,PHP 代碼就會在跳轉到最後一個 catch 的後面繼續執行。當然,PHP 允許在 catch
Time of Update: 2016-11-23
使用者可以用自訂的異常處理類來擴充 PHP 內建的異常處理類。以下的代碼說明了在內建的異常處理類中,哪些屬性和方法在子類中是可訪問和可繼承的。譯者註:以下這段代碼只為說明內建異常處理類的結構,它並不是一段有實際意義的可用代碼。Example #1 內建的異常處理類<?php class Exception { protected $message = 'Unknown exception'; // 異常資訊 protected
Time of Update: 2016-11-23
注意:PHP5.5及以上版本才支援產生器。產生器提供了一種更容易的方法來實現簡單的對象迭代,但沒有實現一個具有 Iterator 介面的類所帶來的效能開銷和複雜性。產生器允許你在 foreach 代碼塊中寫代碼來迭代一組資料而不需要在記憶體中建立一個數組, 那會使你的記憶體達到上限,或者會佔據可觀的處理時間。相反,你可以寫一個產生器函數,就像一個普通的自訂函數一樣, 和普通函數只返回一次不同的是, 產生器可以根據需要 yield
Time of Update: 2016-11-23
一個產生器函數看上去和普通函數一樣, 不同之處在於產生器會按需產出多個值而不是返回一個值.當產生器函數被調用的時候,會返回一個可以迭代的對象. 當你迭代那個對象的時候 (例如, 通過foreach迴圈), 每當需要一個值的時候,PHP都會調用產生器函數, 然後當產生器產出一個值的時候會儲存產生器的狀態,以便下一個值需要的時候可以恢複.如果沒有更多值產出, 產生器函數可以簡單退出, 調用代碼會繼續就好像一個數組用完所有值一樣.Note:產生器不能傳回值: 這樣做會導致編譯錯誤.
Time of Update: 2016-11-23
當一個產生器函數被第一次調用,會返回一個內部Generator類的對象. 這個對象以和前台迭代器對象幾乎同樣的方式實現了Iterator 介面。Generator 類中的大部分方法和Iterator 介面中的方法有著同樣的語義, 但是產生器對象還有一個額外的方法: send().CautionGenerator 對象不能通過new執行個體化Example #1 The Generator class<?php class Generator implements Iterator {
Time of Update: 2016-11-22
在許多架構和MVC中都能夠看到PHP SPL的身影, PHP SPL 在很多實際應用都佔了很大的比重雙向鏈表<?php$obj = new SplDoublyLinkedList();$obj->push(1);$obj->push(2);$obj->push(3);$obj->unshift(10); //unshifit 替換雙向鏈表的首部$obj->rewind(); // 使用current
Time of Update: 2016-11-22
之前在開發項目時,遇到過用strtotime("- 1 month")會出現bug的情況,主要原因是PHP預設設定的時間是以格林威治時區為標準的,有兩種方法解決這個問題,一是在php.ini中修改預設的時區,二是在程式中設定首先說下第一種方法吧,在php.ini中修改預設的時區我用的wampIntegration
Time of Update: 2016-11-22
一、用戶端的PHP代碼 <?php//初始化一個控制代碼$ch = curl_init();//設定訪問地址curl_setopt($ch, CURLOPT_URL, "http://cq01-testing-lv01.vm.baidu.com:8808/mobile/uploadclient");//curl_setopt($ch, CURLOPT_RETURNTRANSFER,
Time of Update: 2016-11-22
之前的博文已經對PHPExcel匯出excel檔案做了簡單的總結,現對他讀取excel做以下總結。(對資料量不會很大的建可以採用web直接用此方法讀取,如果資料量會很大的話,還是建議web只做上傳功能,讀取、處理還是放後台吧。PHPExcel還是比較耗費時間、記憶體的。) 執行個體代碼://首先匯入PHPExcelrequire_once 'PHPExcel.php';$filePath =
Time of Update: 2016-11-22
array() 建立數組,帶有鍵和值。如果在規定數組時省略了鍵,則產生一個整數鍵,這個 key 從 0 開始,然後以 1 進行遞增。 要用 array() 建立一個關聯陣列,可使用 => 來分隔鍵和值。 要建立一個空數組,則不傳遞參數給array(): $new = array();注意:array()實際上是一種語言結構 (language construct),通常用來定義直接量數組,但它的用法和函數的用法很相似,所以我們把它也列到手冊中PHP array() 例子<
Time of Update: 2016-11-22
//時間轉換函式(把時間顯示人性化) function tranTime($time) { $rtime = date("m-d H:i",$time); $htime = date("H:i",$time); $time = time() - $time; if ($time < 60) { $str = '剛剛
Time of Update: 2016-11-22
在PHP中require,include一個檔案時,大都是用相對路徑,是個很頭疼的問題。 例如: <web>(網站根目錄) ├<A>檔案夾 │ │ │ └1.php ├<B>檔案夾 │ │ │ └2.php └index.php問題:在1.php中通過include(“../B/2.php”)來引入B目錄下的2.php檔案; 在index.php中通過include(“A/1.php”)來引入A目錄下的1.php檔案; 運行出來當然會出現問題,找不到../B/
Time of Update: 2016-11-22
<?php//phpinfo();$host = "******:389";$user = "**@**";$pswd = "*****";$ad = ldap_connect($host) or die( "Could not connect!" );if($ad){ //設定參數 ldap_set_option ( $ad, LDAP_OPT_PROTOCOL_VERSION, 3 );
Time of Update: 2016-11-22
在寫PHP程式的時候經常遇到這個問題;包括使用header()函數,使用session()函數、cookies函數都有可能出次問題PHP程式報如下錯誤: Cannot modify header information - headers already sent by (output started at 不能夠修改header infomation ,要解決這個錯誤需要明白兩點問題。
Time of Update: 2016-11-22
函數是PHP如此強大的源泉,但是很多PHP函數並沒有得到充分的利用。這裡,我們給大家簡單介紹10個不常見,但非常有用的函數。 1. sys_getloadavg() sys_getloadavt()可以獲得系 統負載情況。該函數返回一個包含三個元素的數組,每個元素分別代表系統再過去的1、5和15分鐘內的平均負載。與其讓伺服器因負 載過高而宕掉,不如在系統負載很高時主動die掉一個指令碼,sys_getloadavg()就是用來幫你實現這個功能的。 不過很遺憾,該函數在windows下無效。 2.
Time of Update: 2016-11-22
這幾天在做項目時,遇到了需要大量匯入資料的情況,使用者將excel表格提交後,需要我們後台這邊將excel表格資訊中的內容全部插入到資料表中。當然,前提是使用者給我們的excel表格中的資訊必須和我們表中的欄位資訊時對應的才行,下面是我這邊後台進行大量匯入資料的實現步驟。首先我們需要下載phpExcelphpExcel是用來操作Office Excel
Time of Update: 2016-11-22
<?php $to = "other@xxxx.net"; $from = "me@xxxx.net"; $subj = "my test subject"; $msg = "this is the email body"; $header = "From: " . $from . "\r\n" .
Time of Update: 2016-11-22
通過把Content-Type設定為application/octet-stream, 可以把動態產生的內容當作檔案來下載,相信這個大家都會。 那麼用Content-Disposition設定下載的檔案名稱, 這個也有不少人知道吧。 基本上,下載程式都是這麼寫的:<?php$filename = "document.txt";header('Content-Type:
Time of Update: 2016-11-22
總結 php匯出Excel php匯入Excel PhpExcel使用說明 PhpExcel使用手冊1:第一推薦無比風騷的PHPExcel,官方網站:
Time of Update: 2016-11-22
<?php/**************************************************************************** Pinyin.php* Usage Example : Pinyin('張洪華',1); //第二個參數隨意設定則為utf-8編碼