Time of Update: 2016-07-21
突然想到了以前接觸過flash將圖片二進位流傳給php,靈機一動用$GLOBALS['HTTP_RAW_POST_DATA']擷取到了。於是就深入的查了一下,原來PHP預設只識別application/x-www.form-urlencoded標準的資料類型,因此,對型如text/xml 或者 soap 或者 application/octet-stream 之類的內容無法解析,如果用$_POST數組來接收就會失敗!故保留原型,交給$GLOBALS['HTTP_RAW_POST_DATA']
Time of Update: 2016-07-21
並且在執行的過程中, 如果其中的某條執行失敗, 可以復原所有已更改的操作. 如果執行成功, 那麼這一系列操作都會永久有效. 事務很好的解決了在操作資料庫的時候不同步的問題. 同時, 通過事務去執行大資料量的時候, 執行效率可以提高很多很多. 在 PDO 中, 事務已經顯得非常簡單. 下面一個基本的例子, 示範了向 SQLite 資料庫插入 1000000 條資料, 並且在出錯的時候復原. 複製代碼 代碼如下: try { $conn = new
Time of Update: 2016-07-21
我這麼想的: 遍曆一遍多維陣列,將所有的鍵建立索引產生一個一維數組; 每次通過鍵名去查這個鍵的上級數組及資料 OK,代碼如下 indexKey建立索引數組函數: 複製代碼 代碼如下: /** * FILE_NAME : arr.php FILE_PATH : test/ * 在多維陣列中根據鍵名快速查詢其父鍵以及父索引值 * * @copyright Copyright (c) 2006-2010 mail:levi@cgfeel.com * @author Levi * @package
Time of Update: 2016-07-21
複製代碼 代碼如下:/** * 原型模式 * * 用原型執行個體指定建立對象的種類.並且通過拷貝這個原型來建立新的對象 * */ abstract class Prototype { private $_id = null; public function __construct($id) { $this->_id = $id; } public function getID() { return $this->_id; } public function __clone() // magic
Time of Update: 2016-07-21
複製代碼 代碼如下: #!/usr/local/bin/php -q author:freemouse // 下面是說明. print ("本程式用於合并2張 640x480大小的.\n"); print ("圖片,並將其轉化為一張 400x300 大小的圖片\n"); print ("需要指定存放合成前圖片(a.jpg,b.jpg)的預設目錄\n"); print ("產生的圖片將會儲存為c.jpg\n"); //預設目錄,自己編輯吧^_^
Time of Update: 2016-07-21
下面就來介紹一下資料庫抽象層PDO的使用: PDO(PHP Data Objects)是一個輕量級的PHP擴充,提供了一個資料訪問抽象層。還要就是PDO只能在PHP5.0以上版本使用。下面來介紹一下PDO常用的預定義常量:PDO::PARAM_BOOL (integer) 表示布林值資料型別PDO::PARAM_NULL (integer) 表示資料類型為NULL的SQLPDO::PARAM_INT (integer)
Time of Update: 2016-07-21
當在php中使用mb_detect_encoding函數進行編碼識別時,很多人都碰到過識別編碼有誤的問題,例如對與GB2312和UTF- 8,或者UTF-8和GBK(這裡主要是對於cp936的判斷),網上說是由於字元短是,mb_detect_encoding會出現誤判。 例如: 複製代碼 代碼如下: $encode = mb_detect_encoding($keytitle, array("ASCII",'UTF-8′,"GB2312′,"GBK",'BIG5′)); if ($encode
Time of Update: 2016-07-21
在使用php的curl擷取遠程檔案,代碼如下: 複製代碼 代碼如下: $ghurl = isset($_GET['id']) ? $_GET['id']:'http://www.baidu.com/'; // php 擷取 function getContents($url){ $header = array("Referer: http://www.baidu.com/"); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url);
Time of Update: 2016-07-21
curl_setopt (PHP 4 >= 4.0.2) curl_setopt -- 為CURL調用設定一個選項 描述 bool curl_setopt (int ch, string option, mixed value) curl_setopt()函數將為一個CURL會話設定選項。option參數是你想要的設定,value是這個選項給定的值。 下列選項的值將被作為長整形使用(在option參數中指定): CURLOPT_INFILESIZE:
Time of Update: 2016-07-21
但最近發現增量的總是搜尋不到,今天看了下作業記錄,有如下提示: [Sun Apr 17 19:30:01.876 2011] [ 3400] WARNING: rotating index 'news_delta': cur to old rename failed: rename /dev/shm/sphinx/data/news_delta.spa to /dev/shm/sphinx/data/news_delta.old.spa failed: No such file or
Time of Update: 2016-07-21
複製代碼 代碼如下: /* * 作者:胡睿 * 日期:2011/03/19 * 電郵:hooray0905@foxmail.com * * 20110319 * 常用資料庫操作,如:增刪改查,擷取單條記錄、多條記錄,返回最新一條插入記錄id,返回操作記錄行數等 * 20110630 * 整體修改方法,合并部分參數 * 規範代碼,一個方法裡只有1個return語句 */ /* 參數說明 int $debug 是否開啟調試,開啟則輸出sql語句 int $mode 0 返回數組 1 返回單條記錄 2
Time of Update: 2016-07-21
/path/to/pkphp.com/script.php?ajax 在php指令碼中使用如下方法判斷: 複製代碼 代碼如下: if(isset($_GET['ajax'])) { ...這是一個ajax請求,然後... } else { ...這不是一個ajax請求,然後... } 通過傳遞_GET參數的方法簡單實現了網頁請求的判斷。但是如果需要這樣的功能,這個方法可能就有弊端,功能需求如下: 1.通過ajax請求的網頁與普通請求的網頁內容是不相同的
Time of Update: 2016-07-21
一、如何定義數組:在PHP中建立數組主要有兩種方式,下面就讓我們來看看如何建立一個數組 (1)直接給每個元素賦值的方法建立數組。 格式為:$arrayname[key]=value; 其中arrayname為數組的名字,key為數組的元素的鍵,value為元素的值。鍵可以是0,1,2,3這一類數字,也可以是字串。如下所示: 複製代碼 代碼如下: 1 2 //用1,2,3的數值作為數組的鍵 3 echo '數組$array1的索引值為:'; 4 $array1[1]='a'; 5 $array1[
Time of Update: 2016-07-21
複製代碼 代碼如下: //楊輝三角 for ($i=6;$i >= 0;$i--) { for ($j=$i;$j { if ($j { echo "a"; }else { echo ""; } } } ?> PHP列印楊輝三角自訂 複製代碼 代碼如下: function yanghui($line) { echo ""; for($i=1;$i{ echo ""; for($j=1;$j{ $yh[$i][1]=1; if ($i==$j) $yh[$i][$j]=1; else $yh[
Time of Update: 2016-07-21
使用mvc開發模式是為了什嗎?? MVC是一個設計模式,它強制性的使應用程式的輸入、處理和輸出分開。使用MVC應用程式被分成三個核心組件:模型、視圖、控制器。它們各自處理自己的任務。 我們有必要嚴格區分mvc的三層模式模式嗎? m與c的跨界使用更有利於快速開發。 在我使用的架構中 m與c可以跨界使用,並不嚴格區分。有時候很想直接在c裡處理m的事,因為業務的資料處理並不多見,也許只有一次。 這樣在m裡面寫個函數, 再用c調用,變得複雜,這與php快速開發理念相悖。 我們需要的什嗎? 1.視圖分離
Time of Update: 2016-07-21
雙專業畢業論文做了一個小型企業庫存管理系統,使用PHP&mysql組合進行開發。頭一次開發稍微大一點的東西,php也是自學的。這裡想跟大家一起分享一下check_login 模組複製代碼 代碼如下: session_start(); $workid=$_GET['wid'];//擷取工作號 if($workid!=$_SESSION['$workid']||$workid==''){ echo ""; } ?> function.inc//主要包括資料庫連接模組 複製代碼 代碼如下:
Time of Update: 2016-07-21
複製代碼 代碼如下: /** * 委託模式 樣本 * * @create_date: 2010-01-04 */ class PlayList { var $_songs = array(); var $_object = null; function PlayList($type) { $object = $type."PlayListDelegation"; $this->_object = new $object(); } function
Time of Update: 2016-07-21
1. 函數的任意數目的參數 你可能知道PHP允許你定義一個預設參數的函數。但你可能並不知道PHP還允許你定義一個完全任意的參數的函數 下面是一個樣本向你展示了預設參數的函數: 複製代碼 代碼如下: // 兩個預設參數的函數 function foo($arg1 = '', $arg2 = '') { echo "arg1: $arg1\n"; echo "arg2: $arg2\n"; } foo('hello','world'); /* 輸出: arg1
Time of Update: 2016-07-21
複製代碼 代碼如下: /* PHP物件導向的程式設計 * * PHP5 * * 數組和對象:都屬於PHP的複合類型(一個變數可以儲存多個單元) * * 對象比數組更強大,不僅可以儲存多個資料,還可以將函數存在對象中 * * 對象的三大特性:封裝、繼承、多態 * * 物件導向編程(oop) //符合軟體工程中的 重用性 靈活性 擴充性 * * 物件導向和面向過程之間的區別 * * 最小的單位:函數 //面向過程 * 最小的單位:對象 //物件導向 * * 什麼是對象
Time of Update: 2016-07-21
複製代碼 代碼如下: /** * 命令模式 * * 將一個請求封裝為一個對象從而使你可用不同的請求對客戶進行參數化,對請求排除或記錄請求日誌,以及支援可取消的操作 */ interface Command { public function execute(); } class Invoker { private $_command = array(); public function setCommand($command) { $this->_command[] = $command; }