原创 PHP Prototype(原型)模式

作用:用原型實例指定創建對象的種類,並且通過拷貝這些原型創建新的對象。UML結構圖: 當需要靈活創建參數化對象但又不想使用new操作符時,就可以使用Prototype模式。使用抽象的clone()方法和一些實現clone()的子類創建一個

原创 CodeIgniter 圖像處理類 源代碼分析

CodeIgniter 的圖像處理類可以使你完成以下的操作: 調整圖像大小:$this->image_lib->resize()創建縮略圖:圖像裁剪:$this->image_lib->crop()圖像旋轉:$this->image_

原创 CodeIgniter Session類 源代碼 分析

一、Session類的參數:可以在application/config/config.php 文件中找到以下的 Session 相關的參數: 參數 默認 選項 描述 sess_cookie_name ci_session 無

原创 CodeIgniter 驗證碼輔助函數 源代碼分析

if ( ! function_exists('create_captcha')) { function create_captcha($data = '', $img_path = '', $img_url = '', $font_p

原创 CodeIgniter 分頁類 pagination 源代碼分析

一、構造函數:構造函數的參數是初始化參數個數,先判斷參數如果>0,則調用$this->initialize($params);初始化參數,然後判斷是否給每一個鏈接添加CSS類 public function __construct($p

原创 二叉樹的遍歷: 前序,中序,後序----非遞歸算法

前序遍歷非遞歸算法: void PreOrderTraverse(BiTree T, Status (*Visit)TElemType e) { InitStack(S); while (T != NULL || StatckEm

原创 CSS 各瀏覽器 透明效果

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd

原创 CodeIgniter 文件上傳類 分析

上傳文件普遍的過程: 一個上傳文件用的表單,允許用戶選擇一個文件並上傳它。當這個表單被提交,該文件被上傳到指定的目錄。同時,該文件將被驗證是否符合您設定的要求。一旦文件上傳成功,還要返回一個上傳成功的確認窗口。CodeIgniter的文

原创 數據結構 線性表 順序表示和實現

predefine.h //預定義函數返回結果頭文件 //文件名pre_define.h //函數結果狀態代碼 #define TRUE 1 #define FALSE 0 #define OK 1 #define ERROR 0 #d

原创 關於XSS(跨站腳本攻擊)和CSRF(跨站請求僞造)

我們常說的網絡安全其實應該包括以下三方面的安全: 1、機密性,比如用戶的隱私被竊取,帳號被盜,常見的方式是木馬。 2、完整性,比如數據的完整,舉個例子,康熙傳位十四子,被當時四阿哥篡改遺詔:傳位於四子,當然這是傳說,常見的方式是XSS跨

原创 Memcached安裝以及PHP的調用

一:安裝libevent 由於memcached安裝時,需要使用libevent類庫,所以先安裝libevent 1.下載 #wget   http://www.monkey.org/~provos/libevent-2.0.12

原创 CodeIgniter 裝載類 分析

裝載類用於裝載元素,這些元素可以是視圖文件、輔助函數、模型或者是你自己的文件。(此類由系統自動加載) 一、構造函數:構造函數設置緩衝級別和視圖文件、輔助函數等的路徑 public function __construct() {

原创 數據結構 廣義表

pre_define.h //====================================== // pre_define.h // 預定義函數返回結果頭文件 //===============================

原创 PHP XML

1.生成XML爲字符串 header('Content-Type: text/xml'); print '<?xml version="1.0">'."\n"; print '<shows>'; $shows = array(array

原创 CodeIginter 安全類 源代碼分析

一、構造函數: 首先判斷CSRF保護是否開啓,若開啓,則初始化CSRF配置,然後添加cookie prefix前綴,最後設置CSRF hash: public function __construct() { // Is CSRF