Time of Update: 2016-07-21
責任鏈模式,其目的是組織一個對象鏈處理一個如方法調用的請求。當ConcreteHandler(具體的處理常式)不知道如何滿足來自Client的請求時,或它的目的不是這個時,它會委派給鏈中的下一個Handler(處理常式)來處理。這個設計模式通常和複合模式一起使用,其中有些葉子或容器物件預設委派操作給它們的父物件。另一個例子是,本地化通常是使用責任鏈處理的,當德語翻譯適配器沒有為翻譯關鍵詞找到合適的結果時,就返回到英語適配器或乾脆直接顯示關鍵詞本身。耦合減少到最低限度:Client類不知道由哪個具
Time of Update: 2016-07-21
【造成原因】:Because PHP's integer type is signed, and many IP addresses will result in negative integers.【解決辦法】:其官方手冊中提到,可以“you need to use the "%u" formatter of sprintf() or printf() to get the string representation of the unsigned IP address”即,printf( '
Time of Update: 2016-07-21
用C/C++擴充PHP的優缺點:優點:效率,還是效率減少PHP指令碼的複雜度, 極端情況下, 你只需要在PHP指令碼中,簡單的調用一個擴充實現的函數,然後你所有的功能都就被擴充實現了而缺點也是顯而易見的:開發複雜可維護性降低開發週期變長, 最簡單的一個例子,當你用PHP指令碼的時候, 如果你發現某個判斷條件出錯,你只要修改了這一行,儲存,那麼就立刻能見效。 而如果是在C/C++編寫的PHP擴充中, 那你可需要,修改源碼,重新編譯,然後重新load進PHP,
Time of Update: 2016-07-21
一、什麼是RBAC角色型存取控制(Role-Based Access
Time of Update: 2016-07-21
1、遞迴法 複製代碼 代碼如下:deleteDir($dir){if (rmdir($dir)==false && is_dir($dir)) { if ($dp = opendir($dir)) { while (($file=readdir($dp)) != false) { if (is_dir($file) && $file!='.' && $file!='..') { deleteDir($file); } else {
Time of Update: 2016-07-21
如下所示:複製代碼 代碼如下:header('Context-Type:text/html;charset:gb2312;');$urls = array( 'http://www.baidu.com/', 'http://www.pconline.com.cn/', 'http://www.163.com/');$options = array( CURLOPT_RETURNTRANSFER=>1, CURLOPT_FOLLOWLOCATION=>1, CURLOPT_HEADER =>
Time of Update: 2016-07-21
PS:1.捕獲PHP語法錯誤2.嚴重錯誤用正常的 set_error_handle無法捕獲此兩類錯誤,這是捕獲此類錯誤的技巧複製代碼 代碼如下://test.php 頁面error_reporting(0);register_shutdown_function('PageOnShutdown');include('error_test.php');function PageOnShutdown(){$msg =
Time of Update: 2016-07-21
在做手機開發時,經常碰到一些比較耗時的操作,這個時候進度條就開始派上用場了。這個demo展示了ProgressBar進度條和ProgressDialog進度框。一、ProgressDialog進度框,效果:代碼如下:複製代碼 代碼如下://進度對話方塊按鈕監聽 class ProssButtonListener implements OnClickListener { @Override public void onClick(View v) {
Time of Update: 2016-07-21
php中資料的魔法引用函數 magic_quotes_gpc 或 magic_quotes_runtime 設定為on時,為我們引用的資料碰到 單引號' 和 雙引號" 以及 反斜線\
Time of Update: 2016-07-21
wampIntegration Environment下升級php版本1.下載php版本壓縮包,解壓php版本壓縮包2.停掉wamp服務3.替換wamp\php檔案4.替換wamp\Apache2\bin目錄下的php5nsapi.dll 和 php5ts.dll(對應當前php版本的)5.重啟wamp服務6.phpinfo()測試我遇到的問題 時區設定問題解決方案:wamp\Apache2\bin\php.ini; Module Settings ;;新增時區設定[Date];
Time of Update: 2016-07-21
本文,將這些問題,做一個簡單的匯總,以便大家查閱。1.錯誤提示Warning: Cannot send session cookie - headers already sentWarning: Cannot send session cache limiter - headers already sent分析及解決辦法這一類問題,的原因是你在程式中使用PHP
Time of Update: 2016-07-21
之前使用smarty的時候,通常是在php程式端讀取資料(一般從資料庫),然後assign給模板的變數,才可以在前端使用這個變數。這樣不是不好,只是資料多的時候php端的代碼維護起來有點麻煩,特別是當存在很多模板塊化得資料時。所以寫了個外掛程式,結合之前的crud類實現在前端模板可以載入一些模組化得資料。複製代碼 代碼如下:/** * Smarty plugin * @package Smarty * @subpackage plugins *//** * Smarty {load_data}
Time of Update: 2016-07-21
複製代碼 代碼如下:/** * 擷取替換文章中的圖片路徑 * @param string $xstr 內容 * @param string $keyword 建立照片的檔案名稱 * @param string $oriweb 網址 * @return string * */function replaceimg($xstr,$keyword, $oriweb){ //儲存路徑 $d = date('Ymd', time()); $dirslsitss =
Time of Update: 2016-07-21
密碼編譯演算法:使用HMAC-SHA1簽名方法複製代碼 代碼如下: /** * @brief 使用HMAC-SHA1演算法產生oauth_signature簽名值 * * @param $key 密鑰 * @param $str 源串 * * @return 簽名值 */ function getSignature($str, $key) { $signature = ""; if
Time of Update: 2016-07-21
在php.ini檔案中將 extension=php_mbstring.dll 移動到 extension=php_exif.dll 之前.因為 exif 要調用 mbstring, 所以 mbstring 必須在前面.php_exif.dll, EXIF 函數庫,需要 php_mbstring.dll.並且在 php.ini 中, php_exif.dll 必須在 php_mbstring.dll 之後載入.如若不行,則檢查 php.ini 中預設的 extension_dir 值是否為
Time of Update: 2016-07-21
關於php的引用(就是在變數或者函數、對象等前面加上&符號)的作用,我們先看下面這個程式。複製代碼 代碼如下: $a = 100; //聲明變數a $b = &$a; //聲明變數b,引用自變數a echo "$a "; echo "$b "; $a++; //變數a自增1 echo "$a "; echo "$b ";//查看變數b,也增加了1,說明使用的是同一儲存單元 ?> 程式運行結果:複製代碼 代碼如下:100 100 101 101
Time of Update: 2016-07-21
複製代碼 代碼如下://搜尋暫時沒做,資料是出來了,但是卻沒法顯示Index.php檔案複製代碼 代碼如下:header("Content:text/html;charset=utf-8");$link = mysql_connect("localhost","root","123456")or die('error'.mysql_error());mysql_select_db("stu",$link);mysql_query('set names utf8');$sql = "select
Time of Update: 2016-07-21
但是在開發的過程中,發現一個小細節的問題,必須要開啟F12才能看到的,原來,在head頭部裡面的所有引用的東西以及title等等,全部都跑到body裡面去了,苦思冥想,百度、google全找不到答案。只好放棄了因為他並沒有影響到我的功能以及頁面上的樣式。而到了今天,在開發別的項目的時候,頁面用到了frameset,我想大家應該都明白,frameset只有放在body外面才能使用。然而也是因為這個問題,把head裡面的,以及frmaeset的內容全部跑到body裡面,而且在body下還有一個空白行
Time of Update: 2016-07-21
一、建立圖片資源imagecreatetruecolor(width,height);imagecreatefromgif(圖片名稱);imagecreatefrompng(圖片名稱);imagecreatefromjpeg(圖片名稱);畫出各種映像 imagegif(圖片資源,儲存路徑);imagepng()imagejpeg();二、擷取圖片屬性imagesx(res//寬度imagesy(res//高度getimagesize(檔案路徑)返回一個具有四個單元的數組。索引 0
Time of Update: 2016-07-21
在《IP地址->地理位置轉換的測評》一文中提到用ip2addr函數直接讀取IP資料庫檔案是效率最高的,相比用MySQL資料庫儲存IP資料,用SQL查詢是效率最低的。但是IP資料庫檔案QQWry.dat是GB2312編碼的。現在我需要UTF-8編碼的地理位置結果。如果用MySQL方法,可以在資料存入資料庫時就轉換為UTF-8編碼,一勞永逸。但是QQWry.dat檔案又無法修改,只能把ip2addr函數的輸出結果再進行動態轉換。 動態轉換GB->UTF-8編碼至少有四種方法: