Time of Update: 2018-12-03
常用的避免require/include的方法1、使用魔術函數__autoloadphp5可以使用__autoload來避免require,用的好的話,代碼裡頭甚至看不到幾個require,真是不錯的東西。測試結果表明,使用__autoload之後比require_once然後再執行個體化大概要快3倍左右。這個函數最大的用處就是在執行個體化一個未明確定義的類時去尋找相應的檔案並載入(是動態載入哦~)。view sourceprint?1<?php2function __autoload($
Time of Update: 2018-12-03
當使用explain分析SQL時常常會遇到extra的其中一值為using filesort,如: PRIMARY KEY (`id`), KEY `uid` (`uid`) explain select * from t_talbe where uid=1 order by id;extra結果為:Using where; Using filesort手冊中對Using filesort解釋是“MySQL must do an extra pass to find out how
Time of Update: 2018-12-03
利用NFS來共用session,如果session量比較大並且所有的session檔案都在同一個子目錄下的話,那麼可能會由此帶來很嚴重的負載問題,甚至導致網站無法使用。本文就是對這個方案做一下詳細的解說。首先,修改 php.ini的 session.save_path 選項,大致如下:session.save_path = “2;/tmp/php_sess”意為把session存放在 “/tmp/php_sess” 目錄下,並且分成 2 級子目錄,每級子目錄又分別有 16
Time of Update: 2018-12-03
eaccelerator的功能除了對php先行編譯代碼進行最佳化、緩衝之外,還提供了php開發下的共用記憶體操作、session記憶體儲存、內容緩衝等功能。php預設的session儲存方式是在磁碟,雖然可以配置php產生的檔案目錄到記憶體盤中,但最終還是需要依賴於檔案系統,勢必產生檔案操縱的開銷。當網站並發請求很高的時候,還會產生另為一個效能問題:session目錄下的檔案數目過多,達到操縱系統瓶頸,雖然這時也可以通過配置為多級目錄,但依舊無法擺脫檔案系統的魔爪。session.save_pa
Time of Update: 2018-12-03
對系統管理員來說,平時的工作重心應該集中在維護系統正常運轉,能夠正常提供服務上,這裡往往牽涉到一個資料備份的問題,在我所瞭解的情況中,有80%的系統管理員不是太關心自己伺服器的安全性,但往往對備分鏡像的技術相當感興趣,但由於商業產品的軟硬體價格都相當高昂,因此往往會選擇自由軟體。這裡準備介紹的rsync就是這樣的軟體,它可以滿足絕大多數要求不是特別高的備份需求。 一、特性簡介 rsync是類unix系統下的資料鏡像備份工具,從軟體的命名上就可以看出來了——remote
Time of Update: 2018-12-03
解決高版本 phpMyAdmin 中文顯示亂碼問題本文講述如果解決 phpMyAdmin 高版本資料表裡中文字元顯示亂碼的問題。先說一下我資料庫的情況。MySQL 版本:5.0.26MySQL 預設字元集:latin1論壇資料庫字元集:latin1phpMyAdmin 版本:2.9.0.2使用 phpMyAdmin 開啟我的資料庫後,探索資料表裡的中文全是全是亂碼,不管如何改變 phpMyAdmin 所使用的語言都無濟於事。仔細研究一下,發現 phpMyAdmin 預設顯示的網頁編碼是
Time of Update: 2018-12-03
Wget 的使用1)支援斷點下傳功能(2)同時支援FTP和HTTP下載方式(3)支援Proxy 伺服器(4)設定方便簡單;5)程式小,完全免費;命令格式: wget [參數列表] [目標軟體、網頁的網址]1、啟動類參數 這一類參數主要提供軟體的一些基本資料; -V,--version 顯示軟體版本號碼然後退出; -h,--help顯示軟體協助資訊; -e,--execute=COMMAND 執行一個
Time of Update: 2018-12-03
使用 throw關鍵字建立一個Exception對象後你可以將對象返回,但不應該這樣使用,更好的方法是用throw關鍵字來代替。throw用來拋出異常:throw new Exception( "my message", 44 ); throw 將指令碼的執行中止,並使相關的Exception對象對客戶代碼可用。以下是改進過的getCommandObject() 方法:index_php5.php<?php // PHP 5
Time of Update: 2018-12-03
各種類型檔案頭 由這些檔案頭即使檔案尾碼被亂改也可以通過查看二進位檔案查出檔案的匹配格式,當然這就是一些播放器識別檔案的方法1、從Ultra-edit-32中提取出來的JPEG (jpg),檔案頭:FFD8FF PNG (png),檔案頭:89504E47 GIF (gif),檔案頭:47494638 TIFF (tif),檔案頭:49492A00 Windows Bitmap (bmp),檔案頭:424D CAD (dwg),檔案頭:41433130 Adobe Photoshop
Time of Update: 2018-12-03
Try-catch 語句為了進一步處理異常,我們需要使用try-catch語句—包括Try語句和至少一個的catch語句。任何調用 可能拋出異常的方法的代碼都應該使用try語句。Catch語句用來處理可能拋出的異常。以下顯示了我們處理getCommandObject()拋出的異常的方法:index_php5.php 後半段<?php // PHP 5 try { $mgr = new CommandManager(); $cmd =
Time of Update: 2018-12-03
使用/proc檔案系統來控制系統/proc/sys/fs/proc/sys/fs/file-max該檔案指定了可以分配的檔案控制代碼的最大數目。如果使用者得到的錯誤訊息聲明由於開啟檔案數已經達到了最大值,從而他們不能開啟更多檔案,則可能需要增加該值。可將這個值設定成有任意多個檔案,並且能通過將一個新數字值寫入該檔案來更改該值。預設設定:4096/proc/sys/fs/file-nr該檔案與 file-max 相關,它有三個值:
Time of Update: 2018-12-03
XSLT如何轉換XML我們打個有趣的比方,你玩過橡皮泥吧,用不同的模子按上去,就可以做出需要的形狀。如果我們假設XML資料文檔是一塊大橡皮泥,XSLT就象是一個模子,用力一按,就做出需要的形狀來---符合不同需要的HTML文檔。具體看下面的過程: 我們將XML原文檔輸入,用XSL作為模板,通過轉換引擎,最終輸出需要的HTML文檔。其中的轉換引擎就是比喻中"用力一按"的過程。在具體應用中,有專門的軟體來實現這個轉換過程,名為XML Processor。目前已經有很多 Processor
Time of Update: 2018-12-03
Memcache基礎教程2008-06-14 21:57Memcache是什麼Memcache是danga.com的一個項目,最早是為 LiveJournal
Time of Update: 2018-12-03
要在JPanel上顯示映像,調用了哪幾個關鍵的類方法? 經過Debug,總結如下:無論選擇按鈕或菜單來觸發事件,開啟影像檔分別調用的方法依次是按鈕或菜單的事件處理方法(ButtonOpen_mouseClicked())->自訂的載入方法(loadMyImage()) -> Graphics對象的drawImage()-> JPanel的imageUpdate() ->JPanel的repaint()以下代碼僅是樣本,不完全void
Time of Update: 2018-12-03
獲得異常相關的更多資訊以下是用來格式化輸出異常資訊的代碼:index_php5_6.php<?php // PHP 5 class Front { static function main() { try { $helper = new RequestHelper(array(cmd=>'realcommand')); $helper->runCommand(); } catch
Time of Update: 2018-12-03
PHP5的異常機制根據我們以上討論的,PHP內建的異常類需要有以下成員方法:__construct()建構函式,需要一個出錯資訊和一個可選的整型錯誤標記作參數getMessage()取得出錯資訊getCode()出錯的代碼getFile()異常發生的檔案getLine()異常發生的行數getTrace()跟蹤異常每一步傳遞的路線,存入數組,返回該數組getTraceAsString()和getTrace()功能一樣,但可以將數組中的元素轉成字串並按一定格式輸出 可以看出來,E
Time of Update: 2018-12-03
getElementByID getElementsByName getElementsByTagName的區別和總結 1樓getElementByID getElementsByName getElementsByTagName的區別和總結 WEB標準下可以通過getElementById(), getElementsByName(), and getElementsByTagName()訪問DOCUMENT中的任一個標籤:1、getElementById()getElementById()
Time of Update: 2018-12-03
總結異常機制提供了幾個非常關鍵的好處:(1) 通過將錯誤處理集中於catch語句中,你可以將錯誤處理從應用流程中獨立出來。這也使代碼的可讀性提高,看起來令人愉快。我通常採取非常嚴格的策略來捕捉所有異常並中止指令碼執行。這樣可以獲得所需的附加的彈性,同時實現安全易用的異常管理。?(2) 重擲異常,將異常資料流從低層傳遞至高層,就是說異常被傳回最適合決定如何處理異常的地方。這看起來會顯得有點奇怪,但實際情況中很經常我們在異常發生的時候無法立刻決定如何處理它。?(3)
Time of Update: 2018-12-03
總結一下使用PEAR::HTML_QuickForm的過程: 1. 確保PEAR安裝正確;2. 載入HTML_QuickFormrequire_once("HTML/QuickForm.php"); 3. 建立一個表單對象;$form = new
Time of Update: 2018-12-03
php下的define()效能是很爛的,速度慢,尤其是當一個程式中有大量的常量需要定義,這個情況尤為明顯。而apc這個擴充不僅僅提供了php的opcode緩衝,同樣也可以提供一些基本的cache功能,在apc 3.0.0版本之後,它甚至可以緩衝常量。一個用apc批量定義常量的例子PLAIN TEXTCODE:<?php$constants = array( 'ONE' => 1, 'TWO' => 2, 'THREE' =>